1 / 9

GDB Improvements for Telecom System

Explore improvements for GDB in telecom scenarios, showcasing strengths like multi-thread debugging and remote support. Uncover limitations and discover upcoming enhancements for DICOS and Linux, including non-stop debugging benefits and multi-process capabilities.

ahebert
Download Presentation

GDB Improvements for Telecom System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GDB Improvements for Telecom System

  2. GDB’s Strengths, Today • Primary debugger for Linux • Used by Eclipse for C, C++ debugging • Eclipse communicates with GDB via MI (‘Machine Interface’) protocol • Debug multi-threaded programs • Supports remote debugging • GDB is Open Source

  3. GDB’s Limitations, Today • When any thread stops, all must stop • Can debug only one process at a time • No support for telecom OS like DICOS • CodeSourcery’s work for Ericsson will remove all these limitations under DICOS, and most under Linux

  4. Non-Stop Debugging Mode • When one thread stops, others can continue to run • GDB reports breakpoint hits, etc. even while waiting for user commands • User can stop or run each thread independently • Natural behavior for Eclipse debugging

  5. Non-stop Benefits • Reduced impact on debuggee • Allows inspection of live systems • Can synthesize other useful behaviors: • Together with multi-process debugging: Stop all threads in this process, but leave other processes running • Dedicated debugger interaction threads

  6. Multi-Process Debugging • GDB can attach to or detach from each process independently • GDB can follow both parent and child after a fork • Breakpoints can be global to all attached processes

  7. Multi-Process Debugging:Limitations • GDB still has only a single address space map • For DICOS, this is not a problem, since code and data are global to all processes • On Linux, GDB will only handle families of processes with identical address maps: fork, but no exec, no dlopen/dlclose

  8. DICOS Support • Connect to DICOS processor via GDB’s remote protocol over TCP/IP • List processes and capsules, attach and detach • GDB can attach automatically to new processes that hit global breakpoints

  9. Additional improvements • Optimization Analysis • Tracepoints • Process-specific breakpoints • Linux multi-process debugging

More Related