summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-05-14 00:57:31 +0200
committerhjk <hjk121@nokiamail.com>2014-05-15 10:12:51 +0200
commit55c19c50429d29ce165f7bff51723da0fbebc559 (patch)
treee2f7e826b7b702c3f529719456e4f4e6758bca8e /doc
parent9ab72ac045ea3b258bed792db89af2b6ae99356f (diff)
downloadqt-creator-55c19c50429d29ce165f7bff51723da0fbebc559.tar.gz
Debugger: More flexibility for "ranged expressions"
The range boundary and stride can be integral expressions. Also ( ) are valid delimiters now, making descriptions like list.at(2.(4).100+2) acceptable. Change-Id: Ief68c0a1b0b0d3813b2939d60e0806f5cd3ff0b0 Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/src/debugger/creator-debugger.qdoc52
1 files changed, 45 insertions, 7 deletions
diff --git a/doc/src/debugger/creator-debugger.qdoc b/doc/src/debugger/creator-debugger.qdoc
index 9a74e5ae12..2f60334018 100644
--- a/doc/src/debugger/creator-debugger.qdoc
+++ b/doc/src/debugger/creator-debugger.qdoc
@@ -452,6 +452,8 @@
\li To step into a function or a subfunction, press \key{F11}.
+ \li To leave the current function or subfunction, press \key{Shift+F11}.
+
\li To continue running the program, press \key{F5}.
\li To run to the selected function when you are stepping into a nested
@@ -622,17 +624,53 @@
\section1 Locals and Expressions
- Whenever a program stops under the control of the debugger, it retrieves
- information about the topmost stack frame and displays it in the
- \gui{Locals and Expressions} view. The \gui{Locals and Expressions} view
- typically includes information about parameters of the function in that
- frame as well as the local variables.
+ The Locals and Expressions view consists of three parts: the
+ \gui{Locals} pane at the top, the \gui{Return Value} pane in the middle,
+ and the \gui{Expressions} pane at the bottom. The \gui{Return Value}
+ and \gui{Expression} panes are only visible if they are not empty.
\image qtcreator-locals-expressions.png "Locals and Expressions view"
+ Whenever a program stops under the control of the debugger, it retrieves
+ information about the topmost stack frame and displays it in the
+ \gui{Locals and Expressions} view. The \gui{Locals} pane shows
+ information about parameters of the function in that
+ frame as well as the local variables. If the last operation in
+ the debugger was returning from a function after pressing
+ \key{Shift+F11}, the \gui{Return Value} pane displays the value
+ returned by the function.
+
+ To compute values of arithmetic expressions or function
+ calls, use expression evaluators in the \gui{Expressions} pane.
+ To insert a new expression evaluator, either double-click on an
+ empty part of the \gui{Locals and Expressions} view, or select
+ \gui{Insert New Expression Evaluator} from the context menu, or
+ drag and drop an expression from the code editor.
+
+ \note Expression evaluators are powerful, but slow down debugger
+ operation significantly. It is advisable to not use them excessively,
+ and to remove unneeded expression evaluators as soon as possible.
+
+ Expression evaluators are re-evaluated whenever the current
+ frame changes. Note that functions used in the expressions are
+ called each time, even if they have side-effects.
+
+ All backends support simple C and C++ expressions. Functions
+ can be called only if they are actually compiled into the
+ debugged executable or a library used by the executable.
+ Most notably, inlined functions such as most \c{operator[]}
+ implementations of standard containers are typically \e{not}
+ available.
+
+ When using GDB or LLDB as backend, a special ranged
+ syntax can be used to display multiple values with one
+ expression. A sub-expression of form \c{foo[a..b]} is
+ split into a sequence of individually evaluated expressions
+ \c{foo[a], ..., foo[b]}.
+
Compound variables of struct or class type are displayed as
- expandable in the view. Expand entries to show
- all members. Together with the display of value and type, you can
+ expandable in the view. Expand entries to show all members.
+ Together with the display of value and type, you can
examine and traverse the low-level layout of object data.