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


Discoverability is a big challenge for Pernosco and debuggers in general. Traditional command-line debuggers have very low discoverability; Pernosco's developers have used gdb for many years and still sometimes find useful commands they never knew about! The search box provides some discoverability, but we need more. To help address this, Pernosco provides the "toolbox": a single button that pops up a list of all supported views. Alongside their names, it renders miniature results for every single view. These previews help users understand what each view will do.

Omniscient debugging is essential for showing thumbnails of all views immediately every time the toolbox button is pressed. This is an example of how the ability to show results very quickly enables new kinds of interactions.

<< Condition and print expressions Alerts >>