1. Overview
  2. Debugging and CI
  3. Other workflows
  4. Debugging as a service
  5. Basic interface
  6. Call stacks
  7. Explaining dataflow
  8. Multiprocess
  9. Search box
  10. Source files
  11. Condition and print expressions
  12. Toolbox
  13. Alerts
  14. Application logs
  15. Callees
  16. View operators
  17. Notebook
  18. Instruction execution
  19. Browser UI integration
  20. Additional views
  21. GDB
  22. System debug info
  23. Compiler issues
  24. Future work
  25. Related work
  26. Conclusions

System debug info

Developers sometimes want to delve into the execution of system libraries. In Linux the source code and debuginfo for these libraries is available in theory, but in practice obtaining the sources and debuginfo for all system libraries relevant to a debugging session is a lot of work, especially in Ubuntu. It requires identifying the relevant library packages, finding the matching debuginfo and source packages, downloading and unpacking those packages, and configuring the debugger to use them. Especially in Ubuntu, many of those steps are difficult because the relationship between binary, source and debuginfo packages is complex and poorly defined.

Pernosco fully automates all of this: for all system libraries where the distribution provides source and debuginfo, Pernosco uses it.

Major distributions such as Ubuntu and Fedora only serve debuginfo and source packages for the latest version of each library package in a particular channel. If, by the time you get around to debugging, the library package you used when reproducing the bug has been superceded by an update, the debuginfo and source for it won't be available. Therefore we maintain an archive of all versions of debuginfo and source packages relevant to our customers, to ensure that data is available no matter when a recording was created.

<< GDB Compiler issues >>