Cross Debugging on Linux : A History, Current State of the Art and Coming Improvements
summary
A concise history and a practical roadmap for cross-debugging on Linux with concrete tooling: a lightweight GDB-compatible debug server implemented to bridge serial, USB and TCP transports, proven with auto-discovery via broadcast and tested on 20+ heterogeneous boards (ARM Cortex, microcontrollers, SoCs) and RTOSes like Zephyr. Covers kernel and hardware limits such as hardware single-step support, shows integration with Eclipse/VSCode and OpenOCD, and demonstrates reduced setup time and reliable multi-threaded remote debugging.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:53Tech Topics of this presentation
- 3:46System mode
- 5:56Software Breakpoints
- 6:54Hardware breakpoints
- 8:23Emulating Singlestep
- 8:50Multithread debugging (user+system) nightmare
- 10:13Everything began in ... 2005
- 11:11Abandonned to switch to
- 12:51Achieved result
- 14:10Caveats
- 14:59A remote debug session (x86-64)
- 16:44Another Debug Session (x86-64 - ARM64)
- 18:48Debugging a big process on RP14
- 20:37Alternatives to GDB/gdbserver
- 23:49Debug on Zephyr
- 27:20You thought you knew valgrind, did you ?
- 28:05Valgrind profiling
- 28:45When should I use Valgrind ?
- 29:38LTTng alternatives
- 30:51LTTng in a nutshell
- 31:16LTTng: Trace Compass
related talks
01h 29mModern Linux C++ Debugging Tools - Under the Covers
58m“Debugging Linux C++”
01h 29mMore GDB wizardry and 8 other essential Linux application debugging tools
40mMulticore Debugging with GDB
38mProgrammable debuggers and the Linux kernel (drg...
50mLinux loves Ruby, Ruby loves Linux
32mBuilding a Debug Probe with the Zephyr RTOS
52mLinux Kernel Debugging: Going Beyond Printk Messages
