diff options
Diffstat (limited to 'languages/cpp/debugger/TODO.txt')
-rw-r--r-- | languages/cpp/debugger/TODO.txt | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/languages/cpp/debugger/TODO.txt b/languages/cpp/debugger/TODO.txt new file mode 100644 index 00000000..38aca109 --- /dev/null +++ b/languages/cpp/debugger/TODO.txt @@ -0,0 +1,218 @@ + +KDEV4 Debugger: + + - Launch framework + + - On fly launch types -- "dbus call to connect to a given app" + + - Advanced data visualization + + - Customizable by the user + + - Assembler display that's good + + - Hex display that's good + + - Register display that is good. + + - Debugger scripts? Remembering and replaying a set of + commands? + + - Debugger as a visualizer tool? + + +TODO: + + - Check gdb version at startup. + + - P1: + + - Breakpoints duplicated on editing. + + - Global radix + + - Hiding of static members. + + - No horizonal scrollbar in the variables widget. + + - Debugging optimized binaries + + - Debugged application somtimes not killed. + + - Fix moving breakpoints on editing files + + - Pressing tab in memory range dialog modified the edited file. + + - Testing stepping into code for which gdb can't find the file or fullname. + Test stepping (or stepi) into undebuggable code. + + - Test files without debug info + + - Reconsider fixed font in variable widget + + - Investigate 'stop on shlib load breaking next" on Dario's project. + + - Incoming bug reports: + + - Check core files usage. + + - Fix remote target dialog, which is confusing and requires + to specify tree scripts! + + - Big projects + + - Add support for other special types (STL) + + - Breakpoints + + - Add shortcuts to context menu. + + - Add icons + + - Status display column is just ugly + + - Handle "out of breakpoints" message. + + - Check that changing breakpoint when program is running works sanely. + Need to either disable breakpoints widget when debugger is busy, or + stop debugger when we add new breakpoint. + + - Implement gdb -> KDevelop breakpoint addition for all existing + breakpoint types. + + + + - For function breakpoints, the 'file' property of breakpoint from + gdb is not a fullname (gdb 6.4), so we don't find the file. + + - For function breakpoints with gdb CVS, clicking on marker corresponding + to function breakpoint does not clear it, but adds a new one. + + - "Immediately leave function" breakpoint type. + + + - Watchpoints redux: + + - Fix status display for watchpoints + + - Test loading of read watchpoints from session file. + + - Change "toogle watchpoint" into checkbox. + + - "Read watchpoint triggered" message disappears too soon. + + + - Fix up the mess with relative vs. full names of files for breakpoints. + + + UI cleanup: + + - The dialog box on watchpoint hit draws slowly initially. + + - Cntrl-Enter for "add watch". + + - Close all opened thread when opening other? + + - The dialog box shown in MI errors is ugly. Often, it contains names + of internal gdb functions, or no interest to outsiders. + + - Should strip formatting when copying from gdb output window. + + Console command interaction: + + - Handle "Program exited" messages from CLI "continue". + + + Code cleanup: + + - Rename FileLine to Code. + + - Kill raw char* manipulation. + + - Fix hardcoded color in framestack widget + + - Kill 'trimmableItem'. + + Minor tweaks: + + - Need some "scope" for error reporting. Say, we can try to set invalid + breakpoint condition from session file, on debugger startup. Need to + produce message like: + "Error detected when setting condition for breakpoint 1", + not a pretty opaque error we get now. + + - Highlight type changes in variable widget + + - Highlight composite types changes? + + - Test that modifying breakpoint while application is running works. + + - If remembered expresion includes dereferences pointer as a child, + that child is still updated as we step. + + - Error in 'finish' command (e.g. on the outer frame) hides the + current line indicator. + + - Should disable the 'finish' command on the outer frame. + + Optimizations: + + - If we're in some function and looked at frame 0 and frame 1, and + then run "finish", we need to reuse VarFrameRoot for previous frame + 1, which now became frame 0, no need to recreate it. Generally, need + to preserve open/closed state of all variables for all scopes. + + + + + + +BUGS/ISSUES found: + + - "set edit off" breaks MI + - no stop reason for stop on shared library load + - using "interpreter mi -whatever" when already in MI + mode causes gdb to output two "^done" messages and + it confuses us. + - No support for "character" format in -data-evaluate-expression + or -var-set-format + - Some of the -stack* command operate on current frame unless one is + specified, but -stack-list-arguments will print all frames. + + - Output of -thread-list-ids uses the following syntax + + {thread-id="1",thread-id="2"} + + which is neither tuple nor list. + + - Pending breakpoits broken in MI. + + + - Varobj broken: + + - When entering new scope, we need to issue -stack-list-locals + to get names of new varaibles in that scope. + + - When stopping inside undebuggable code (say, on watchpoint hit), + -file-list-exec-source-file reports the last valid source file. + + - It's not possible to find if intefiour is running or not. + + + + + +Advantages of MI + + +- The information is easier to extract. + + - For watchpoint, getting the old and new value of + watched expression for display is trivial. For CLI, + this is tricky and not done in current code. + + + + + + |