Commit Graph
7 Commits
Author SHA1 Message Date
BBandClaude Opus 5.5 3f5741c6b2 Take an any's basic types from Odin's type system
Apple's lldb includes Swift, and `SBTarget.GetBasicType` may answer
from Swift's type system, such as `Swift.Int64` for `long long`. A
value made from such a type is empty, so in about half of all lldb
sessions an `any` holding a basic type, or a pointer or an array of
one, showed only the name of its type. Ask the `any`'s own type for
basic types instead, as it comes from the type system of Odin's
debug info.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 16:07:18 +02:00
bbodi a3c940fc01 Show an any holding a pointer or an array
An `any` holding a pointer, multi-pointer or fixed array printed raw,
as `{data = ..., id = ^int}`, since no debug type is named `^int` or
`[3]f32`. Build such types from their element, found by the rest of
the name, in both the gdb and lldb printers.
2026-10-08 15:31:57 +02:00
bbodi e22ae450af Show a union holding a pointer in the gdb printer
A non-nil `Maybe(^T)` or a #shared_nil union of pointers printed as
nothing, as gdb prints nothing for a pointer gdb.Value returned by a
printer's to_string. Return the pointer formatted as a string instead,
which is what the lldb summary already shows.
2026-10-08 15:30:28 +02:00
gingerBill 311394cfbc Clean up odin_debugger.py 2026-10-08 13:32:11 +01:00
gingerBill 756e0daac0 Show #soa arrays, set-like maps, allocators and any values in the gdb and lldb printers 2026-10-08 13:20:11 +01:00
gingerBill 8109f1a401 Copy the lldb pretty printers into the .dSYM of macOS binaries built with -debug where lldb loads them from 2026-10-08 12:04:16 +01:00
gingerBill f689471c90 Embed the gdb pretty printers in the .debug_gdb_scripts section of ELF binaries built with -debug, and move the script next to the runtime it reads 2026-10-08 11:54:08 +01:00