Qt Creator ManualTests DebuggerLldb: Difference between revisions
Jump to navigation
Jump to search
(Simplify crash test) |
(Add test for QThread) |
||
Line 45: | Line 45: | ||
| | | | ||
| | | | ||
|- | |||
| Test a breakpoint in a QThread: | |||
# Uncomment the call to qthread::testQThread() | |||
# Place a breakpoint in qthread::Thread::run() | |||
# Run this in the debugger | |||
# Make sure that: | |||
#* the breakpoint receives the right number of hits | |||
#* "Locals and Expressions" and "Stack" views show reasonable data | |||
#* "Stack" and "Threads" views show the right names of the threads | |||
| | |||
| | |||
|- | |- | ||
| Switch on temporarily 'Operate by Instruction' and check whether you see disassembler output and can step by instruction | | Switch on temporarily 'Operate by Instruction' and check whether you see disassembler output and can step by instruction |
Revision as of 14:42, 8 August 2017
tests/manual/debugger/simple/simple.pro provides the needed code
Test | Result | Annotation |
---|---|---|
Create new project. Can you build, run and debug it? | automated on Mac | |
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)?
(Mac: switch on 'Use Debug Versions of Frameworks' in run configuration. You need Qt sources.) |
||
Test debugging helpers/python lldb: Do classes like QImage or std::string show beautiful information instead of the raw structure? | automated | |
Step through some 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 | ||
Check I/O (qDebug, std::cout, std::cerr) | ||
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 on Mac | |
Attach to a core file (Linux/Mac: ulimit –c unlimited) | ||
Attach to a running process (might not work on Ubuntu) | ||
Test unusual situations: Kill X 'externally' while debugging (both in a 'running' and 'stopped' state), where X is
|