#exe { --name strings -Mroot=strings.zig #} #write strings.zig { const Strings = struct { c_ptr: [*c]const u8 = "c_ptr\x07\x08\t", many_ptr: [*:0]const u8 = "many_ptr\n\x0b\x0c", ptr_array: *const [12:0]u8 = "ptr_array\x00\r\x1b", slice: [:0]const u8 = "slice\"\'\\\x00", }; fn testStrings(strings: Strings) void { _ = strings; } pub fn main() void { testStrings(.{}); } #} #update #check lldb { (lldb) breakpoint set --file strings.zig --source-pattern-regexp '_ = strings;' Breakpoint 1: where = strings`strings.testStrings + #... at strings.zig:9:1, address = 0x#... (lldb) process launch Process #... launched: '#.../strings' (#...) Process #... stopped * thread #1, name = 'strings', stop reason = breakpoint 1.1 frame #0: strings`strings.testStrings(strings=Strings @ 0x#...) at strings.zig:9:1 (lldb) frame variable --show-all-children --show-types -- strings.slice ([:0]const u8) strings.slice = len=9 { (u8) [0] = 115 (u8) [1] = 108 (u8) [2] = 105 (u8) [3] = 99 (u8) [4] = 101 (u8) [5] = 34 (u8) [6] = 39 (u8) [7] = 92 (u8) [8] = 0 } (lldb) frame variable --show-all-children --show-types --format character -- strings.slice ([:0]const u8) strings.slice = len=9 { (u8) [0] = 's' (u8) [1] = 'l' (u8) [2] = 'i' (u8) [3] = 'c' (u8) [4] = 'e' (u8) [5] = '\"' (u8) [6] = '\'' (u8) [7] = '\\' (u8) [8] = '\x00' } (lldb) frame variable --show-all-children --show-types --format c-string -- strings (root.strings.Strings) strings = { ([*c]const u8) .c_ptr = "c_ptr\x07\x08\t" ([*:0]const u8) .many_ptr = "many_ptr\n\x0b\x0c" (*const [12:0]u8) .ptr_array = "ptr_array\x00\r\x1b" ([:0]const u8) .slice = "slice\"\'\\\x00" len=9 { (u8) [0] = "s" (u8) [1] = "l" (u8) [2] = "i" (u8) [3] = "c" (u8) [4] = "e" (u8) [5] = "\"" (u8) [6] = "\'" (u8) [7] = "\\" (u8) [8] = "\x00" } } (lldb) breakpoint delete --force 1 1 breakpoints deleted; 0 breakpoint locations disabled. #}