diff options
Diffstat (limited to 'doc/src/debugger/creator-debugger.qdoc')
-rw-r--r-- | doc/src/debugger/creator-debugger.qdoc | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/doc/src/debugger/creator-debugger.qdoc b/doc/src/debugger/creator-debugger.qdoc index 28a36a823b..fa065d2634 100644 --- a/doc/src/debugger/creator-debugger.qdoc +++ b/doc/src/debugger/creator-debugger.qdoc @@ -410,6 +410,8 @@ you are debugging C++ or QML. Frequently used views are shown by default and rarely used ones are hidden. To change the default settings, select \gui {Window > Views}, and then select views to display or hide. + Alternatively, you can enable or disable views from the context menu + of the title bar of any visible debugger view. \image qtcreator-debugger-views.png "Debug mode views" @@ -760,6 +762,20 @@ and \gui{Step Over}. By default, both \gui{Disassembler} and \gui{Registers} view are hidden. + \section2 Creating Snapshots + + A snapshot contains the complete state of the debugged program + at a time, including the full memory contents. + + To create snapshots of a debugged program, select \gui Create in the + context menu in the \gui Snapshot view. + + Double-click on entries in the snapshot view to switch between + snapshots. The debugger views are updated to reflect the + state of the program at time of taking the snapshot. + + By default, the \gui{Snapshots} view is hidden. + */ @@ -864,15 +880,17 @@ is also easier to extend as the script is less dependent on the actual Qt version and does not need compilation. - To extend the shipped Python based debugging helpers for custom types, - define one Python function per user defined type in the - GDB startup file. By default, the following startup file is used: - \c{~/.gdbinit}. To use another file, select \gui {Tools > Options > - Debugger > GDB} - and specify a filename in the \gui {GDB startup script} field. + To extend the shipped Python based debugging helpers for custom + types, add debugging helper implementations to the GDB startup file + \c{~/.gdbinit}, or specify them directly in the \gui{Additional + Startup Commands} in \gui {Tools > Options > Debugger > GDB}. - The function name has to be qdump__NS__Foo, where NS::Foo is the class - or class template to be examined. Nested namespaces are possible. + The implementation of a debugging helper typically + consists of a single Python function, which needs to be named + \c{qdump__NS__Foo}, where \c{NS::Foo} is the class + or class template to be examined. Note that the \c{::} scope + resolution operator is replaced by double underscores \c{__}. + Nested namespaces are possible. The debugger plugin calls this function whenever you want to display an object of this type. The function is passed the following @@ -899,9 +917,6 @@ alloc = d_ptr["alloc"] size = d_ptr["size"] - check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000) - checkRef(d_ptr["ref"]) - innerType = templateArgument(value.type, 0) d.putItemCount(size) d.putNumChild(size) @@ -1052,7 +1067,12 @@ \o \gui{putCallItem(self, name, value, func, *args)} - Uses GDB to call the function \c func on the value specified by - \a {value} and output the resulting item. + \a {value} and output the resulting item. Use \c{putCallItem} + only if there is no other way to access the data. + Calls cannot be executed + when inspecting a core file, they are expensive to execute + and have the potential to change the state of the debugged + program. \o \gui{putItem(self, value)} - The "master function", handling basic types, references, pointers and enums directly, iterates |