GDB committer here :-)
pokud mas 3GB DWARF infa, bude to pomale, DWARF neni uplne jednoduchej format. Co pomaha je 1. stlacit debuginfo, hledej dwz. 2. Pridat index, hledej gdb-add-index 3. nove GDB umi castecne paralelizovat cteni debug infa, delal to Tom Tromey, zeptej se na mailing listu.
> manualne prochazet mapy listu se shared pointrama na stringy... kuuurva!
Co delam ja v podobnych pripadech je to hledam kusem kodu v Pythonu.
Ten zbytek je proste plyne z toho, ze GDB je CLI tool, ne klikaci frontend. Co se tyce frontendu, pouzivam vlastni v kombinaci s vlastnimi pretty printery. Problem neni ani tak v GDB/MI jako spis ze frontendy to casto neumi v kombinaci s temi pretty-printery
(viz `-enable-pretty-printing`
https://sourceware.org/gdb/current/onlinedocs/gdb.html/GDB_002fMI-Variable-Objects.html#GDB_002fMI-Variable-Objects).Co se tyce neuplnych dat apod, casto je to o tom ze data jsou tak uplna jak uplne je debug info. A GCC to obcas proste zahodi a pak se nema v GDB ceho chytit (a propagace debug infa v prekladaci je dost obtiznej problem sam o sobe. s tim mam take svou zkusenost :-)