1. Overview
  2. Debugging workflow
  3. Debugging workflow: CI
  4. Basic interface
  5. Visualizing control flow
  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. Javascript
  20. Browser UI integration
  21. Screenshots
  22. Additional views
  23. GDB
  24. System debug info
  25. Compiler issues
  26. The Pernosco vision
  27. Related work

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.