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

0001 - [DONE] Correct signal handling commands for lldb
0002 - [DONE] Correct environment variable setting commands for lldb
0003 
0004 - [DONE] Port DebugJob
0005 - [DONE] Port exam core and attach process to KJob
0006 - [DONE] Move DebuggerPlugin to MIDebuggerPlugin
0007 
0008 - [DONE] Verify how unit test works in test_gdb
0009 - [DONE] Create minimal unit test cases to be able to test debugger and debugsession
0010     + [DONE] can break on start
0011     + [DONE] environment var successfully set
0012     + Check if environment-cd works in remote debugging
0013     + [DONE] Check if lldb supports unicode correctly
0014         * [DONE] a program output in encoding other than utf8 and different from host system default
0015     + Make examine core test working with coredumpctl
0016 
0017 - [DONE] Verify MIParser/MILexer can handle output without any stream prefix: no they can't
0018 
0019 - [DONE] Make config options in config page actually working
0020 
0021 - [DONE] Remove duplicate breakpoint: look at breakpointController()->setDeleteDuplicateBreakpoints(true)
0022 
0023 - [DONE] Rework interrupt action
0024 
0025 - [DONE] (only workaround) Variables view doesn't update when variable changes
0026 
0027 - Add lldb actions for attach to process and examine core file
0028 - Clean up extra actions provided by gdb/lldb plugins
0029     * Global launch configuration for attach to process and examine core file
0030 
0031 - LLDB data formatters
0032     * [DONE] show summary for const char []
0033     * Qt types
0034         + [DONE] QString, QChar
0035         + [DONE] QByteArray
0036         + [DONE] QList, QStringList, QQueue
0037         + [DONE] QVector, QStack
0038         + [DONE] QLinkedList
0039         + [DONE] QMap, QMultiMap
0040         + [DONE] QHash, QMultiHash
0041         + [DONE] QSet
0042         + [DONE] QDate, QTime, QDateTime
0043         + [DONE] QUrl
0044         + [DONE] QUuid
0045     * KDE types
0046         + [DONE] KDevelop::Path
0047         + [DONE] KTextEditor::Cursor
0048         + [DONE] KTextEditor::Range
0049     * lldb-mi doesn't properly quote string in most MI records, so can't use \\ or " in names
0050 - Finish unit tests for LLDB data formatters
0051 - Qt data formatter cause hangs data size is too large
0052     * [DONE] use dynamic caching
0053     * invalid object detect
0054 
0055 - [DONE] Show application exit reason in the Debug View
0056 
0057 - Clean up tool views
0058     * register views
0059         + controller
0060         + tool view
0061     * disassembly widget
0062     * memory view
0063 
0064 - [DONE] Find a way to avoid duplicate tool views for GDB and LLDB plugin
0065 
0066 - Polish debugger console
0067     * [DONE] user command output regarded as internal command
0068     * [DONE] not correctly raised when starting debug
0069     * [DONE] correct prompt (from "(gdb)" to "(lldb)")
0070 
0071 - [DONE] Handle error sometime with Command 'exec-run'. Invalid process during debug session.
0072 
0073 - An unified way to report error
0074 
0075 - File bug to lldb-mi
0076     * HIGH PRIORITY: -break-insert
0077         + [SUBMITTED] pending breakpoints set with '-f' not got resolved after file loaded
0078             - https://llvm.org/bugs/show_bug.cgi?id=28702
0079         + [SUBMITTED] pending breakpoints '-f' can only be last flag switch
0080             - https://llvm.org/bugs/show_bug.cgi?id=28698
0081         + [SUBMITTED] create disabled breakpoint with '-d' not working when combined with '-f'
0082             - https://llvm.org/bugs/show_bug.cgi?id=28703
0083         + [SUBMITTED] -break-enable has no effect
0084             - https://llvm.org/bugs/show_bug.cgi?id=28857
0085     * [SUBMITTED] breakpoint hit doesn't generate corresponding breakpoint-modified notification
0086         - https://llvm.org/bugs/show_bug.cgi?id=28860
0087       (needed to update hitCount)
0088     * -break-watch command not supported
0089         + use raw cli command 'break set var' doesn't provides MI response
0090     * when hit watch point, nothing is output, which confuses the controller
0091     * thread-info returns malformated result
0092         + there should be only one 'frame' key for each thread in the list
0093         + [FIXED] there should be a current-thread-id field (Fixed at least in revision 265858)
0094     * [FIXED] lldb-mi crashes when break on a point where multiple threads running. (Fixed at least in revision 265858)
0095     * var-update doesn't support * as variable name
0096     * can't have space in environment cd
0097     * -inferior-tty-set only has dummy implementation
0098     * 'process launch' doesn't provide thread-group-started notification
0099     * [SUBMITTED] silently stop when attaching to process, which confuses the controller
0100         - https://llvm.org/bugs/show_bug.cgi?id=28858
0101     * [SUBMITTED] silently stop when request stop at start
0102         - https://llvm.org/bugs/show_bug.cgi?id=25000
0103     * [SUBMITTED] [PATCHED] cli output not wrapped in console stream record
0104     * [SUBMITTED][PATCHED] -data-disassemble start and end address parameter doesn't accept expressions
0105         - https://llvm.org/bugs/show_bug.cgi?id=28859
0106     * -gdb-set not fully implemented
0107         + environment
0108         + [SUBMITTED] [PATCHED] disassembly-flavor
0109             - https://llvm.org/bugs/show_bug.cgi?id=28718
0110     * -gdb-show not fully implemented
0111         + [SUBMITTED] [PATCHED] disassembly-flavor
0112             - https://llvm.org/bugs/show_bug.cgi?id=28718
0113     * -data-list-register-values output format doesn't conform to spec
0114     * [SUBMITTED] -stack-list-locals shows empty list
0115         - https://llvm.org/bugs/show_bug.cgi?id=28621
0116     * File bug to lldb-mi for other missing commands
0117 
0118 - Fix TODOs in files
0119 
0120 - Change test_gdb to avoid direct use of QTest::qWait, which starts event loop, and could cause session to
0121   be deleted. Use WAIT_FOR_STATE_AND_IDLE(session, <previous state>) instead. Or use QPointer for session.
0122 
0123 - Known issues
0124     * Debugger console
0125         + debugger CLI stdout isn't shown, due to bug https://llvm.org/bugs/show_bug.cgi?id=28026
0126     * Remote debugging
0127         + When using 'lldb-server gdbserver' as remote server, server exits once debug session ended.
0128         + When using 'gdbserver' as remote server
0129             - Remote work path can't contain space
0130             - Can't actually start inferior
0131     * Breakpoints
0132         + Pending breakpoints doesn't work. (Break on start now works even without pending breakpoint support)
0133             - Can still manually set pending breakpoints
0134         + Breakpoint hit count is not updated timely (limitation in lldb-mi)
0135         + No watchpoint support
0136             - Can still manually add watch point
0137     * Threads
0138         + lldb-mi crashes when break on a point where multiple threads running. (Fixed in latest lldb trunk version)
0139     * Attach to process
0140         + works internally, but there's no way to access it in the UI currently.
0141 
0142 relevant lldb settings:
0143 
0144 disassembly-format
0145 thread-format
0146 frame-format