| | 7 | |
| | 8 | Planning for a new version of the debugger: |
| | 9 | |
| | 10 | * The debugger can be launched by any of the following: Run / Step In / Step Over / Step Out / Run till breakpoint |
| | 11 | * Run would stop at the first statement and it will be grayed out once the debugger is running |
| | 12 | * Once the debugger is running the saved breakpoints of all the files belonging to this thing will be sent over. |
| | 13 | * The question what does 'this thing' mean? Which files belong to the current run? |
| | 14 | * Files that are currently open in the editor? File that belong to the current session? File in the current project? |
| | 15 | * Movement: Step In / Step Over / Step Out / Run till breakpoint |
| | 16 | * They do the corresponding action of the built in debugger |
| | 17 | |
| | 18 | * Jump to current execution line ??? |
| | 19 | |
| | 20 | * Set a breakpoint (this should save the breakpoint in a config file and if the debugger is currently running then set the breakpoint in the debugger as well) |
| | 21 | * How should a breakpoint remembered? Filename and line number? Filename and sub name? |
| | 22 | * Remove breakpoint |
| | 23 | * List all breakpoints ??? |
| | 24 | * Show trace - shows the current trace - it should open a window (maybe in the right-side window of the debugger) and constantly update the trace until the user turns it off. |
| | 25 | * Display value - the selected variable, or the one that is under the cursor will be added to the right side where its value will be show every time the debugger pauses the execution |
| | 26 | * Show Value now - show the value of the currently selected variable |
| | 27 | * Evaluate Expression... opens a window where you can type in arbitrary perl expression for example: |
| | 28 | * {{{ print 2 + 3 }}} |
| | 29 | * {{{ $z = 42 }}} |
| | 30 | * {{{ print $z }}} |
| | 31 | * Quit debugger ??? |
| | 32 | |
| | 33 | * Set watch - The user should be able to type in an arbitrary expression (if there was something selected then this will be the default) |
| | 34 | When that expression changes value the debugger will stop |
| | 35 | The expression should be saved belonging to the main script that is being executed. When the debugger is launched again these |
| | 36 | watchpoints need to be set again (later we could display them to the user and ask the user if she wants to set them or not) |
| | 37 | * Remove watch - remove an expression from the watch list (and from the saved watches) |
| | 38 | |