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


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.