Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Qt Creator ManualTests DebuggerGdb: Difference between revisions
Jump to navigation
Jump to search
(Moved note into table) |
(Point to gui.pro and improve descriptions) |
||
Line 66: | Line 66: | ||
| Check "Run in Terminal". Use Terminal for input. (Debbuging might not work on Ubuntu) | | Check "Run in Terminal". Use Terminal for input. (Debbuging might not work on Ubuntu) | ||
| | | | ||
| | | | ||
|+ | |+ | ||
| Create new project. Can you build, run and debug it? | | Create new project. Can you build, run and debug it? | ||
Line 81: | Line 75: | ||
| automated | | automated | ||
| | | | ||
|} | |||
{| class="wikitable" | |||
|+ Tests using '''tests/manual/debugger/gui/gui.pro''' from Qt Creator's source repository | |||
! Test | |||
! Result | |||
! Annotation | |||
|+ | |+ | ||
| | | | ||
# Run the project. | |||
# Click the button "Crash".<br/>It should write a core file to the working directory. Depending on the operating system, you might have to set "ulimit –c unlimited" and/or disable OS-specific crash-reporting mechanisms. | |||
# Attach Creator to the core file.<br/>Verify that you see a stacktrace, variable values and code markers just as if you had run the application in the debugger from the beginning. | |||
| | |||
| | |||
|- | |||
| | | | ||
| | # Start the project from outside Creator, e.g. from the command line. | ||
# Attach Creator to the running process.<br/>Verify that you see a stacktrace, variable values and code markers just as if you had run the application in the debugger from the beginning. You should also be able to pause/continue the execution. | |||
| | |||
| | |||
|- | |||
| Test unusual situations: Kill the running debugged program 'externally' with a signal that is neither SIGSTOP nor SIGKILL. Qt Creator should end up showing a backtrace. | | Test unusual situations: Kill the running debugged program 'externally' with a signal that is neither SIGSTOP nor SIGKILL. Qt Creator should end up showing a backtrace. | ||
| | | |
Revision as of 10:53, 4 August 2021
Test | Result | Annotation |
---|---|---|
Set breakpoint, press F5 to build and run debugger, verify that program stops at a breakpoint that you set:
|
||
"Step into" a couple of times. Can you step into Qt source code (*.cpp file under QTDIR. You might need to configure source paths mapping under Tools -> Options -> Debugger -> Add Qt sources...)?
(Mac: switch on 'Use Debug Versions of Frameworks' in run configuration. You need Qt sources.) |
||
Test debugging helpers/python gdb: Do classes like QImage or std::string show beautiful information instead of the raw structure? | automated | |
Step through some (not all) test* functions and check whether the displayed data looks sane | ||
Comment out the return statement inside the following functions one by one. Check whether you'll end up with a proper stack trace & locals display.
|
||
Test a breakpoint in a QThread:
|
||
Switch on temporarily 'Operate by Instruction' and check whether you see disassembler output and can step by instruction |
Test | Result | Annotation |
---|---|---|
Check I/O (qDebug, std::cout, std::cerr), on Win for both Debug and Release. | stderr/stdout handling on Windows:
|
|
Check "Run in Terminal". Use Terminal for input. (Debbuging might not work on Ubuntu) | ||
Create new project. Can you build, run and debug it? | automated | |
Check nothing bad happens on a simple int main() {} program with no breakpoints set | automated |
Test | Result | Annotation |
---|---|---|
|
||
|
||
Test unusual situations: Kill the running debugged program 'externally' with a signal that is neither SIGSTOP nor SIGKILL. Qt Creator should end up showing a backtrace. | ||
Kill the stopped debugged program 'externally'. Nothing should happen immediately, on next continue or step Qt Creator should end up showing a backtrace. | ||
Try remote debugging: start a gdbserver using e.g.
gdbserver localhost:1234 ./fakevim
in creator/tests/manual/fakevim on a Linux machine and connect to it |