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

Visualizing control flow

Instead of singlestepping to build up a mental understanding of control flow within a function, Pernosco directly visualizes it for you.

Visualizing control flow for functions without loops is easy: we highlight the lines that were executed. Clicking on a line-executed highlight jumps to the execution of that line:

Loops have to be flattened onto the linear source view. We highlight the lines executed in the current iteration of any (possibly nested) loop(s) the application is currently in (including the lines executed at the top level of the function outside any loop). Also, lines executed in this function activation but not in the current loop iteration are highlighted with a lighter color. Clicking on the latter shows all executions of that line in the current function activation.