Qt Creator ManualTests DebuggerGdb
Jump to navigation
Jump to search
Qt Creator Manual Tests: Debugger g++/gdb
tests/manual/debugger/simple/simple.pro and tests/manual/debugger/cli-io/cli-io.pro provide the needed code
Test | Result | Annotation |
---|---|---|
Create new project. Can you build, run and debug it? | automated, except on Mac | |
Set breakpoint, press F5 to build and run debugger, verify that program stops at breakpoint:
|
||
“Step into” a couple of times. Can you step into Qt source code (*.cpp file under QTDIR)? (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? | ||
Step through some test* functions and check whether the displayed data looks sane | ||
Comment out the return statement before the following code lines or inside the respective functions one by one. Check whether you’ll end up with a proper stack trace & locals display.
|
||
Switch on temporarily ‘Operate by Instruction’ and check whether you see disassembler output and can step by instruction | ||
Check I/O (qDebug, std::cout, std::cerr), on Win for both Debug and Release. Please read the below note! | ||
Check “Run in Terminal”. Use Terminal for input. (Debbuging might not work on Ubuntu) | ||
Check nothing bad happens on a simple int main() {} program with no breakpoints set | automated, except on Mac | |
Linux/Mac: Attach to a core file (ulimit -c unlimited) | ||
Attach to a running process (might not work on Ubuntu) | ||
Try remote debugging: start a gdbserver using e.g. in creator/tests/manual/fakevim on a Linux machine and connect to it |
||
Test unusual situations: Kill X ‘externally’ while debugging (both in a ‘running’ and ‘stopped’ state), where X is
|
stderr/stdout handling on Windows
- An application needs to be built with ‘console’ for stderr/stdout to appear (use Creators “Run in terminal” setting)
- Creator itself is built with ‘console’ in debug mode only.
- qDebug() prints to stderr for ‘console’ apps, else to the Windows debugger log, which can be shown with the DbgView utility