"chronicle" is another #replay system with #GDB support
on 02023-09-19notes on #GDB and #position-independent executables and PC-relative lea on #amd64
claims that #QEMU #reverse-debugging does support #GDB. Somewhat.
on 02021-02-09#GDB #debugger #reverse-debugging doesn’t yet support AVX2, but recent glibc lets you turn off AVX2 with an environment variable, so you can GLIBC_TUNABLES=glibc.cpu.hwcaps=-AVX2_Usable,-AVX_Fast_Unaligned_Load gdb ...
+HCU’s .gdbinit file with 2000 lines of #GDB #debugger script from 02010: “A user-friendly gdb configuration file”
on 02021-02-09how to invoke the pdb #debugger when scripting #GDB in #Python: python pdb.run('gdb.execute("print $1[0]")'). Also you can start up an #IPython kernel inside GDB with IPython.embed_kernel() (not sure if this works for notebooks) and define a function in .gdbinit that invokes Python by saying define functionname ... end with a python ... end block inside it.
oh I didn’t know about the #GDB ptype #debugger command to print struct definitions and stuff. or the tty command to move the program being debugged to a different window so it doesn’t stomp on the TUI
by default the #GDB #debugger’s record-replay backward stepping has a buffer limit of only 200000 instructions. #reverse-debugging
on 02021-02-03Mozilla #rr supports record-replay backward stepping on fewer platforms than the #GDB #debugger (only amd64 and then only sometimes). But it supports recording the traces to disk. Also, apparently, it requires /proc/sys/kernel/perf_event_paranoid to be no more than 1 for its fast (non -n) mode (like #perf), and doesn’t work inside Docker on the Kudu server, but does work inside KVM. #reverse-debugging
#documentation for the #GDB #debugger’s record-replay backward stepping #reverse-debugging
on 02021-02-03Mozilla #rr, which supports the #GDB #debugger, is reputed to be better than GDB’s built-in record-replay backward stepping: “more reliable”, “small performance drop”, “generated traces are small”, “supports AVX” #reverse-debugging
on 02021-02-03#Introduction to #GDB, or really the interfaces it uses, by Julia Evans
on 02016-08-11Debugging the Sun #JVM with #GDB from a core dump crash file.
on 02015-08-13some notes on the new features of the #OCaml 4.00.0 release in 2012, including much better #GDB integration and some new #performance optimizations, including in particular infix function application operators like Haskell's $ and flip $.