Warning, /kdevelop/kdevelop/plugins/gdb/TODO.txt is written in an unsupported language. File is not indexed.

0001 
0002 Near term:
0003 
0004       - Implemment handling of debugger exit in GDB class
0005 
0006        - Implement locals.                  
0007 
0008        - Revive breakpoint tracing.
0009 
0010 KDEV4 Debugger overall:
0011 
0012       - Launch framework
0013 
0014         - On fly launch types -- "dbus call to connect to a given app"
0015 
0016       - Advanced data visualization
0017 
0018         - Customizable by the user
0019 
0020       - Assembler display that's good
0021 
0022       - Hex display that's good
0023 
0024       - Register display that is good.
0025 
0026       - Debugger scripts? Remembering and replaying a set of
0027       commands?
0028 
0029       - Debugger as a visualizer tool?
0030 
0031 
0032 TODO:
0033 
0034    - P1:
0035 
0036       - Breakpoints duplicated on editing.
0037 
0038       - Global radix
0039 
0040       - Hiding of static members.
0041 
0042       - No horizontal scrollbar in the variables widget.
0043 
0044       - Debugging optimized binaries
0045 
0046       - Debugged application sometimes not killed.
0047 
0048       - Fix moving breakpoints on editing files
0049 
0050       - Pressing tab in memory range dialog modified the edited file. 
0051 
0052       - Testing stepping into code for which gdb can't find the file or fullname.
0053          Test stepping (or stepi) into undebuggable code.
0054 
0055       - Test files without debug info
0056 
0057       - Reconsider fixed font in variable widget
0058 
0059    - Investigate 'stop on shlib load breaking next" on Dario's project.
0060 
0061    - Incoming bug reports:
0062 
0063    - Fix remote target dialog, which is confusing and requires
0064      to specify tree scripts!
0065 
0066    - Big projects
0067 
0068        - Add support for other special types (STL)
0069 
0070    - Breakpoints
0071 
0072        - Add shortcuts to context menu.
0073 
0074        - Add icons
0075 
0076        - Status display column is just ugly
0077      
0078        - Handle "out of breakpoints" message.
0079 
0080       - Implement gdb -> KDevelop breakpoint addition for all existing
0081         breakpoint types.
0082   
0083 
0084 
0085       - For function breakpoints, the 'file' property of breakpoint from
0086         gdb is not a fullname (gdb 6.4), so we don't find the file.
0087 
0088       - For function breakpoints with gdb CVS, clicking on marker corresponding
0089         to function breakpoint does not clear it, but adds a new one.
0090 
0091       - "Immediately leave function" breakpoint type.
0092 
0093 
0094    - Watchpoints redux:
0095 
0096        - Fix status display for watchpoints
0097 
0098        - Test loading of read watchpoints from session file.
0099 
0100        - Change "toggle watchpoint" into checkbox.
0101 
0102        - "Read watchpoint triggered" message disappears too soon.
0103 
0104 
0105    - Fix up the mess with relative vs. full names of files for breakpoints.
0106 
0107       
0108    UI cleanup:
0109 
0110        - The dialog box on watchpoint hit draws slowly initially.
0111 
0112        - Cntrl-Enter for "add watch".
0113 
0114        - Close all opened thread when opening other?
0115 
0116        - The dialog box shown in MI errors is ugly. Often, it contains names 
0117          of internal gdb functions, or no interest to outsiders.
0118 
0119        - Should strip formatting when copying from gdb output window.        
0120 
0121    Console command interaction:
0122 
0123        - Handle "Program exited" messages from CLI "continue".
0124 
0125 
0126    Code cleanup:
0127 
0128        - Rename FileLine to Code.
0129 
0130        - Kill raw char* manipulation.
0131 
0132        - Fix hardcoded color in framestack widget
0133 
0134        - Kill 'trimmableItem'.
0135 
0136    Minor tweaks:
0137 
0138        - Need some "scope" for error reporting. Say, we can try to set invalid
0139          breakpoint condition from session file, on debugger startup. Need to
0140          produce message like:
0141         "Error detected when setting condition for breakpoint 1", 
0142          not a pretty opaque error we get now.
0143 
0144        - Highlight type changes in variable widget
0145 
0146        - Highlight composite types changes?
0147 
0148        - Test that modifying breakpoint while application is running works.        
0149 
0150        - If remembered expression includes dereferences pointer as a child,
0151           that child is still updated as we step.        
0152 
0153        - Error in 'finish' command (e.g. on the outer frame) hides the 
0154          current line indicator.
0155  
0156        - Should disable the 'finish' command on the outer frame.       
0157 
0158    Optimizations:
0159 
0160         - If we're in some function and looked at frame 0 and frame 1, and
0161           then run "finish", we need to reuse VarFrameRoot for previous frame
0162           1, which now became frame 0, no need to recreate it. Generally, need
0163           to preserve open/closed state of all variables for all scopes.
0164 
0165 
0166 
0167 
0168     
0169 
0170 BUGS/ISSUES found:
0171 
0172    - "set edit off" breaks MI
0173    - no stop reason for stop on shared library load
0174    - using "interpreter mi -whatever" when already in MI
0175      mode causes gdb to output two "^done" messages and
0176      it confuses us.
0177    - No support for "character" format in -data-evaluate-expression 
0178      or -var-set-format
0179    - Some of the -stack* command operate on current frame unless one is
0180      specified, but -stack-list-arguments will print all frames.
0181 
0182    - Output of -thread-list-ids uses the following syntax
0183 
0184        {thread-id="1",thread-id="2"}
0185 
0186      which is neither tuple nor list.
0187 
0188    - Pending breakpoits broken in MI.
0189 
0190 
0191    - Varobj broken:
0192 
0193        - When entering new scope, we need to issue -stack-list-locals
0194          to get names of new variables in that scope.
0195 
0196    - When stopping inside undebuggable code (say, on watchpoint hit), 
0197      -file-list-exec-source-file reports the last valid source file.
0198 
0199    - It's not possible to find if inferiour is running or not.