Qt Creator ManualTests DebuggerGdb: Difference between revisions
Limit core-file test to Unix again, got lost in earlier edit |
Clarify permissions of gdb when debugging as root |
||
| Line 144: | Line 144: | ||
| | | | ||
Debug the project with checking "Run as root user" on the run settings page. | Debug the project with checking "Run as root user" on the run settings page. | ||
# Verify application and debugger are starting correctly. | # Verify application and debugger are starting correctly.<br/>gdb running as "root" user is acceptable. | ||
# Use the OS' means to verify that the application is actually running for user "root". | # Use the OS' means to verify that the application is actually running for user "root". | ||
# Verify you can interrupt the application and hit a breakpoint. Check some locals whether they contain sane data. | # Verify you can interrupt the application and hit a breakpoint. Check some locals whether they contain sane data. | ||
Revision as of 14:14, 6 June 2023
For the following tests, you will need to build projects on Qt using gcc/MinGW and debug them using gdb. You can get such a build of Qt from the official Online Installer.
| 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 "Edit" -> "Preferences..." -> "Debugger" -> "General" -> "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' (small icon above the stack trace) 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 |
|---|---|---|
|
When testing on Linux or Mac:
|
||
|
||
| 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 |
| Test | Result | Annotation |
|---|---|---|
|
Run the project without checking "Run as root user" on the run settings page.
|
||
|
Debug the project without checking "Run as root user" on the run settings page.
|
||
|
Run the project with checking "Run as root user" on the run settings page.
|
||
|
Debug the project with checking "Run as root user" on the run settings page.
|
||
|
Is entering invalid credentials handled correctly? |