diff --git a/doc/qtcreator/images/qtcreator-debugger-general-options.png b/doc/qtcreator/images/qtcreator-debugger-general-options.png index 8732a076a62..7823c7668d9 100644 Binary files a/doc/qtcreator/images/qtcreator-debugger-general-options.png and b/doc/qtcreator/images/qtcreator-debugger-general-options.png differ diff --git a/doc/qtcreator/src/debugger/creator-debugger-common.qdocinc b/doc/qtcreator/src/debugger/creator-debugger-common.qdocinc index a214bd896c6..ecd69024923 100644 --- a/doc/qtcreator/src/debugger/creator-debugger-common.qdocinc +++ b/doc/qtcreator/src/debugger/creator-debugger-common.qdocinc @@ -321,6 +321,11 @@ function after pressing \key {Shift+F11}, the \uicontrol {Return Value} pane displays the value returned by the function. + When using GDB, you can specify whether the dynamic or the static type of + objects will be displayed. Select \uicontrol {Use dynamic object type for + display} in the context menu. Keep in mind that choosing the dynamic type + might be slower. + //! [debugger-locals] //! [debugger-expressions] diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdocinc b/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdocinc new file mode 100644 index 00000000000..3b62b68bf6b --- /dev/null +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdocinc @@ -0,0 +1,223 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + +//! [debugger-settings] + + \section1 Specifying Debugger Settings + + To specify settings for managing debugger processes, select \uicontrol Tools + > \uicontrol Options > \uicontrol Debugger. In the \uicontrol General tab, + you can specify settings that are common to all debuggers. + + \image qtcreator-debugger-general-options.png + + You can customize the appearance and behavior of the debug views, + \l{Specifying Breakpoint Settings}{specify settings for breakpoints}, + and map source paths to target paths. + + \section2 Mapping Source Paths + + To enable the debugger to step into the code and display the source code + when using a copy of the source tree at a location different from the one + at which the libraries were built, you can map source paths to target + paths. + + To automatically map the source paths to a Qt version that has not been + patched, select \uicontrol {Add Qt Sources} and browse to the location + of the Qt source files. + + To manually map the source paths to target paths: + + \list 1 + \li In \uicontrol {Source Paths Mapping}, select \uicontrol Add to add + an entry to the path list. + \li In the \uicontrol {Source path} field, specify the source path in + the debug information of the executable as reported by the debugger. + \li In the \uicontrol {Target path} field, specify the actual location + of the source tree on the local machine. + \endlist + + \section2 Specifying GDB Settings + + To specify settings for managing the GDB process, select \uicontrol Tools > + \uicontrol Options > \uicontrol Debugger > \uicontrol GDB. + + \image qtcreator-gdb-options.png "GDB options" + + To specify a timeout for terminating non-responsive GDB processes, set the + number of seconds to wait in the \uicontrol {GDB timeout} field. The default + value of 20 seconds should be sufficient for most applications, but if + loading big libraries or listing source files takes much longer than + that on slow machines, you should increase the value. + + To compress several steps into one step for less noisy debugging when + stepping into code, select the \uicontrol {Skip known frames when stepping} + check box. For example, the atomic reference counting code is skipped, and + a single \e {Step Into} for a signal emission ends up directly in the slot + connected to it. + + To display a message box as soon as your application receives a signal, such + as SIGSEGV, during debugging, select the \uicontrol {Show a message box when + receiving a signal} check box. + + GDB allows setting breakpoints on source lines for which no code was + generated. In such situations, the breakpoint is shifted to the next + source code line for which the code was actually generated. To reflect + such temporary changes by moving the breakpoint markers in the source + code editor, select the \uicontrol {Adjust breakpoint locations} check box. + + To specify whether the dynamic or the static type of objects will be + displayed, select the \uicontrol {Use dynamic object type for display} + check box. Keep in mind that choosing the dynamic type might be slower. + + To allow reading the user's default .gdbinit file on debugger startup, + select the \uicontrol {Load .gdbinit file on startup} check box. + + To use the default GDB pretty printers installed in your system + or linked to the libraries your application uses, select the + \uicontrol {Load system GDB pretty printers} check box. + + By default, GDB shows AT&T style disassembly. To switch to the Intel style, + select the \uicontrol {Use Intel style disassembly} check box. + + To execute GDB commands after GDB has been started, but before the debugged + program is started or attached, and before the debugging helpers are + initialized, enter them in the \uicontrol {Additional Startup Commands} + field. + + To execute GDB commands after GDB has successfully attached to remote + targets, enter them in the \uicontrol {Additional Attach Commands} field. + You can add commands to further set up the target here, such as + \c {monitor reset} or \c {load}. + + To execute simple Python commands, prefix them with \c python. To execute + sequences of Python commands spanning multiple lines, prepend the block + with \c python on a separate line, and append \c end on a separate line. + To execute arbitrary Python scripts, use + \c {python execfile('/path/to/script.py')}. + + \section2 Specifying Extended GDB Settings + + To specify extended settings for GBD, select \uicontrol Tools > + \uicontrol Options > \uicontrol Debugger > \uicontrol {GDB Extended}. + The settings give access to advanced or experimental functions of GDB. + Enabling them may negatively impact your debugging experience, so use + them with care. + + \image qtcreator-gdb-extended-options.png "GDB Extended options" + + To use asynchronous mode to control the inferior, select the + respective check box. + + To add common paths to locations of debug information, such as + \c {/usr/src/debug}, when starting GDB, select the + \uicontrol {Use common locations for debug information} check box. + + To stop when \c qWarning, \c qFatal, or \c abort is called, select the + respective check box. + + To enable stepping backwards, select the \uicontrol {Enable reverse + debugging} check box. This feature is very slow and unstable on the + GDB side. It exhibits unpredictable behavior when going backwards over + system calls and is very likely to destroy your debugging session. + + To keep debugging all children after a fork, select the + \uicontrol {Debug all child processes} check box. + + \section2 Specifying CDB Settings + + To specify settings for managing the CDB process, select \uicontrol Tools > + \uicontrol Options > \uicontrol Debugger > \uicontrol CDB. + + \image qtcreator-cdb-options.png "CDB options" + + You can specify additional arguments for starting CDB in the + \uicontrol {Additional arguments} field. + + If a console application does not start up properly in the configured + console and the subsequent attach fails, you can diagnose the issue by + using CDB's native console. Select the \uicontrol {Use CDB console} + check box to override the console set in the Windows system + environment variables. Note that the native console does not + prompt on application exit. + + To automatically add a breakpoint on the \c CrtCbgReport() function, + select the \uicontrol {Stop when CrtCbgReport() is called} check box. + This catches runtime error messages caused by \c assert(), for example. + + In the \uicontrol {Break on} group, specify whether the debugger should + break on C++ exceptions, on thread creation or exit, on loading or + unloading the specified \l{Viewing Modules}{application modules}, or on + the specified output. + + To disable first-chance break on access violation exceptions, select the + \uicontrol {Ignore first chance access violations} check box. + The second occurrence of an access violation will break into the debugger. + + CDB enables setting breakpoints in comments or on source lines for which + no code was generated. In such situations, the breakpoint is shifted to + the next source code line for which the code was actually generated. To + reflect such temporary changes by moving the breakpoint markers in the + source code editor, select the \uicontrol {Correct breakpoint location} + check box. For more information, see \l{Setting Breakpoints}. + + To use the abstraction layer provided by Python Dumper + classes to create a description of data items displayed + in the \uicontrol Locals and \uicontrol Expressions + views, select the \uicontrol {Use Python dumper} check box. + For more information, see \l{Debugging Helper Implementation}. + + To add information about first-chance and second-chance exceptions + to the \uicontrol Issues output pane, select the check boxes + in the \uicontrol {Add Exceptions to the Issues View} group. + + \section2 Setting CDB Paths on Windows + + To obtain debugging information for the operating system libraries for + debugging Windows applications, add the Symbol Server provided by Microsoft + to the symbol search path of the debugger: + + \list 1 + \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Debugger > + \uicontrol {CDB Paths}. + \image qtcreator-debugger-cdb-paths.png + \li In the \uicontrol {Symbol Paths} group, select \uicontrol Insert. + \li Select the directory where you want to store the cached information. + Use a subfolder in a temporary directory, such as + \c {C:\temp\symbolcache}. + \li Select \uicontrol OK. + \endlist + + \note Populating the cache might take a long time on a slow network + connection. + + To use the Source Server infrastructure for fetching missing source files + directly from version control or the web, enter the following string in + the \uicontrol {Source Paths} field: \c srv*. + +//! [debugger-settings] +*/ diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc index 1cbfac3d04f..84f3132ea29 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger-setup.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -230,198 +230,6 @@ We recommend using the LLDB version that is delivered with the latest Xcode. - \section1 Specifying Debugger Settings - - To specify settings for managing debugger processes, select \uicontrol Tools - > \uicontrol Options > \uicontrol Debugger. In the \uicontrol General tab, - you can specify settings that are common to all debuggers. - - \image qtcreator-debugger-general-options.png - - \section2 Specifying GDB Settings - - To specify settings for managing the GDB process, select \uicontrol Tools > - \uicontrol Options > \uicontrol Debugger > \uicontrol GDB. - - \image qtcreator-gdb-options.png "GDB options" - - To specify a timeout for terminating non-responsive GDB processes, set the - number of seconds to wait in the \uicontrol {GDB timeout} field. The default - value of 20 seconds should be sufficient for most applications, but if - loading big libraries or listing source files takes much longer than - that on slow machines, you should increase the value. - - To compress several steps into one step for less noisy debugging when - stepping into code, select the \uicontrol {Skip known frames when stepping} - check box. For example, the atomic reference counting code is skipped, and - a single \e {Step Into} for a signal emission ends up directly in the slot - connected to it. - - To display a message box as soon as your application receives a signal, such - as SIGSEGV, during debugging, select the \uicontrol {Show a message box when - receiving a signal} check box. - - GDB allows setting breakpoints on source lines for which no code was - generated. In such situations, the breakpoint is shifted to the next - source code line for which the code was actually generated. To reflect - such temporary changes by moving the breakpoint markers in the source - code editor, select the \uicontrol {Adjust breakpoint locations} check box. - - To specify whether the dynamic or the static type of objects will be - displayed, select the \uicontrol {Use dynamic object type for display} - check box. Keep in mind that choosing the dynamic type might be slower. - - To allow reading the user's default .gdbinit file on debugger startup, - select the \uicontrol {Load .gdbinit file on startup} check box. - - To use the default GDB pretty printers installed in your system - or linked to the libraries your application uses, select the - \uicontrol {Load system GDB pretty printers} check box. - - By default, GDB shows AT&T style disassembly. To switch to the Intel style, - select the \uicontrol {Use Intel style disassembly} check box. - - To execute GDB commands after GDB has been started, but before the debugged - program is started or attached, and before the debugging helpers are - initialized, enter them in the \uicontrol {Additional Startup Commands} - field. - - To execute GDB commands after GDB has successfully attached to remote - targets, enter them in the \uicontrol {Additional Attach Commands} field. - You can add commands to further set up the target here, such as - \c {monitor reset} or \c {load}. - - To execute simple Python commands, prefix them with \c python. To execute - sequences of Python commands spanning multiple lines, prepend the block - with \c python on a separate line, and append \c end on a separate line. - To execute arbitrary Python scripts, use - \c {python execfile('/path/to/script.py')}. - - \section2 Specifying Extended GDB Settings - - To specify extended settings for GBD, select \uicontrol Tools > - \uicontrol Options > \uicontrol Debugger > \uicontrol {GDB Extended}. - The settings give access to advanced or experimental functions of GDB. - Enabling them may negatively impact your debugging experience, so use - them with care. - - \image qtcreator-gdb-extended-options.png "GDB Extended options" - - To use asynchronous mode to control the inferior, select the - respective check box. - - To add common paths to locations of debug information, such as - \c {/usr/src/debug}, when starting GDB, select the - \uicontrol {Use common locations for debug information} check box. - - To stop when \c qWarning, \c qFatal, or \c abort is called, select the - respective check box. - - To enable stepping backwards, select the \uicontrol {Enable reverse - debugging} check box. This feature is very slow and unstable on the - GDB side. It exhibits unpredictable behavior when going backwards over - system calls and is very likely to destroy your debugging session. - - To keep debugging all children after a fork, select the - \uicontrol {Debug all child processes} check box. - - \section2 Specifying CDB Settings - - To specify settings for managing the CDB process, select \uicontrol Tools > - \uicontrol Options > \uicontrol Debugger > \uicontrol CDB. - - \image qtcreator-cdb-options.png "CDB options" - - You can specify additional arguments for starting CDB in the - \uicontrol {Additional arguments} field. - - If a console application does not start up properly in the configured - console and the subsequent attach fails, you can diagnose the issue by - using CDB's native console. Select the \uicontrol {Use CDB console} - check box to override the console set in the Windows system - environment variables. Note that the native console does not - prompt on application exit. - - To automatically add a breakpoint on the \c CrtCbgReport() function, - select the \uicontrol {Stop when CrtCbgReport() is called} check box. - This catches runtime error messages caused by \c assert(), for example. - - In the \uicontrol {Break on} group, specify whether the debugger should - break on C++ exceptions, on thread creation or exit, on loading or - unloading the specified \l{Viewing Modules}{application modules}, or on - the specified output. - - To disable first-chance break on access violation exceptions, select the - \uicontrol {Ignore first chance access violations} check box. - The second occurrence of an access violation will break into the debugger. - - CDB enables setting breakpoints in comments or on source lines for which - no code was generated. In such situations, the breakpoint is shifted to - the next source code line for which the code was actually generated. To - reflect such temporary changes by moving the breakpoint markers in the - source code editor, select the \uicontrol {Correct breakpoint location} - check box. For more information, see \l{Setting Breakpoints}. - - To use the abstraction layer provided by Python Dumper - classes to create a description of data items displayed - in the \uicontrol Locals and \uicontrol Expressions - views, select the \uicontrol {Use Python dumper} check box. - For more information, see \l{Debugging Helper Implementation}. - - To add information about first-chance and second-chance exceptions - to the \uicontrol Issues output pane, select the check boxes - in the \uicontrol {Add Exceptions to the Issues View} group. - - \section1 Mapping Source Paths - - To enable the debugger to step into the code and display the source code - when using a copy of the source tree at a location different from the one - at which the libraries were built, map the source paths to target paths: - - \list 1 - - \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Debugger > - \uicontrol General > \uicontrol Add. - - \li In the \uicontrol {Source path} field, specify the source path in - the debug information of the executable as reported by the debugger. - - \li In the \uicontrol {Target path} field, specify the actual location - of the source tree on the local machine. - - \endlist - - \section1 Setting CDB Paths on Windows - - To obtain debugging information for the operating system libraries for - debugging Windows applications, add the Symbol Server provided by Microsoft - to the symbol search path of the debugger: - - \list 1 - - \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Debugger > - \uicontrol {CDB Paths}. - - \image qtcreator-debugger-cdb-paths.png - - \li In the \uicontrol {Symbol Paths} group, select \uicontrol Insert. - - \li Select the directory where you want to store the cached information. - - Use a subfolder in a temporary directory, such as - \c {C:\temp\symbolcache}. - - \li Select \uicontrol OK. - - \endlist - - \note Populating the cache might take a long time on a slow network - connection. - - To use the Source Server infrastructure for fetching missing source files - directly from version control or the web, enter the following string in - the \uicontrol {Source Paths} field: \c srv*. - \section1 Setting up FSF GDB for \macos To use FSF GDB on \macos, you must sign it and add it to the \QC diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index b10498edc24..2cc62044585 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -124,6 +124,10 @@ \uicontrol GDB and \uicontrol CDB. For more information, see \l{Specifying Debugger Settings}. + To allow reading the user's default .gdbinit file on debugger startup, + select the \uicontrol {Load .gdbinit file on startup} check box in + GDB settings. For more information, see \l{Specifying GDB Settings}. + \note Starting a C++ program in the debugger can take a long time, typically in the range of several seconds to minutes if complex features are used. @@ -411,6 +415,13 @@ \endlist + By default, a non-responsive GDB process is terminated after 20 seconds. + To increase the timeout in the \uicontrol {GDB timeout} field, select + \uicontrol Tools > \uicontrol Options > \uicontrol Debugger > + \uicontrol GDB. For more information about settings that you can specify + to manage the GDB process, see \l{Specifying GDB Settings} and + \l{Specifying Extended GDB Settings}. + \section3 Using CDB In remote mode, the local CDB process talks to a CDB process that runs on @@ -475,6 +486,10 @@ \li Click \uicontrol OK to start debugging. \endlist + + To specify settings for managing the CDB process, select \uicontrol Tools > + \uicontrol Options > \uicontrol Debugger > \uicontrol CDB. For more + information, see \l{Specifying CDB Settings}. */ @@ -608,6 +623,16 @@ It is also possible to continue executing the program until the current function completes or jump to an arbitrary position in the current function. + \section2 Stepping Into Code + + When using GDB as the debugging backend, you can compress several steps + into one step for less noisy debugging. For more information, see + \l{Specifying GDB Settings}. + + The extended GDB settings provide the option to step backwards in code, + but this option should be used with care, as it is slow and unstable on the + GDB side. For more information, see \l{Specifying Extended GDB Settings}. + \section2 Customizing Debug Views You can change the appearance and behavior of the debug views by specifying @@ -736,6 +761,11 @@ Right-click the view to open a context menu that contains menu items for reloading data and opening files. + To enable the debugger to step into the code and display the source code + when using a copy of the source tree at a location different from the one + at which the libraries were built, you can map source paths to target + paths. For more information, see \l{Mapping Source Paths}. + By default, the \uicontrol {Source Files} view is hidden. \section2 Viewing Disassembled Code @@ -752,6 +782,10 @@ running. Alternatively, click the \inlineimage debugger_singleinstructionmode.png (\uicontrol {Operate by Instruction}) tool button on the debugger tool bar. + By default, GDB shows AT&T style disassembly. To switch to the Intel style, + select \uicontrol Tools > \uicontrol Options > \uicontrol Debugger > + \uicontrol GDB > \uicontrol {Use Intel style disassembly}. + \section2 Viewing and Editing Register State The \uicontrol Registers view displays the current state of the CPU registers. @@ -784,6 +818,8 @@ \l{https://sourceware.org/gdb/onlinedocs/gdb/Core-File-Generation.html}. \endomit + + \include creator-debugger-settings.qdocinc debugger-settings */ @@ -832,7 +868,7 @@ \QC uses Python scripts to translate raw memory contents and type information data from native debugger backends (GDB, LLDB, and CDB are currently supported) - into the form presented to the user in the \uicontrol {Locals} and + into the form presented to the user in the \uicontrol {Locals} and \uicontrol {Expressions} views. Unlike GDB's @@ -843,6 +879,11 @@ Linux, LLDB on macOS, and CDB on Windows, or any other platform on which at least one of the three supported backends is available. + To use the default GDB pretty printers installed in your system or linked + to the libraries your application uses, select \uicontrol Options > + \uicontrol Debugger > \uicontrol GDB > \uicontrol {Load system GDB pretty + printers}. For more information, see \l{Specifying GDB Settings}. + \section2 Customizing Built-In Debugging Helpers You can have commands executed after built-in debugging helpers have @@ -868,6 +909,11 @@ handle SIGSTOP nostop \endcode + To display a message box as soon as your application receives a signal + during debugging, select \uicontrol Tools > \uicontrol Options > + \uicontrol Debugger > \uicontrol GDB > \uicontrol {Show a message box + when receiving a signal}. + \section2 Adding Custom Debugging Helpers To add debugging helpers for your own types, no compilation is required, diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-debug.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-debug.qdocinc index ef3389e27d9..ce5b73d07e7 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-debug.qdocinc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-debug.qdocinc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -26,7 +26,7 @@ /*! //! [run settings debugger] - \section1 Specifying Debugger Settings + \section1 Enabling Debugging \image qtquick-debugging-settings.png "Debugger Settings" diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp index 39bbe73f93a..53c82ccc8bf 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5capturepreviewnodeinstanceserver.cpp @@ -71,6 +71,10 @@ CapturedDataCommand::StateData collectStateData(ServerNodeInstance rootNodeInsta if (!colorProperty.isNull()) nodeData.properties.emplace_back(QString{"color"}, colorProperty); + auto visibleProperty = instance.property("visible"); + if (!colorProperty.isNull()) + nodeData.properties.emplace_back(QString{"visible"}, visibleProperty); + stateData.nodeData.push_back(std::move(nodeData)); } diff --git a/src/plugins/qtsupport/translationwizardpage.cpp b/src/plugins/qtsupport/translationwizardpage.cpp index b15743d557b..4dc80def5ba 100644 --- a/src/plugins/qtsupport/translationwizardpage.cpp +++ b/src/plugins/qtsupport/translationwizardpage.cpp @@ -138,7 +138,7 @@ bool TranslationWizardPage::validatePage() { const auto w = static_cast(wizard()); w->setValue("TsFileName", tsBaseName().isEmpty() ? QString() : QString(tsBaseName() + ".ts")); - w->setValue("TsLanguage", m_fileNameLineEdit.text()); + w->setValue("TsLanguage", m_languageComboBox.currentData().toString()); return true; }