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 DebuggerLldb: Difference between revisions
Jump to navigation
Jump to search
AutoSpider (talk | contribs) (Decode HTML entity numbers) |
Henri Vikki (talk | contribs) (Table) |
||
Line 1: | Line 1: | ||
[[Category:Tools::QtCreator::QualityAssurance]] | [[Category:Tools::QtCreator::QualityAssurance]] | ||
tests/manual/debugger/simple/simple.pro provides the needed code | tests/manual/debugger/simple/simple.pro provides the needed code | ||
{ | {| class="wikitable" | ||
| Create new project. Can you build, run and debug it? | automated on Mac | | | ! 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 breakpoint: | | Set breakpoint, press F5 to build and run debugger, verify that program stops at breakpoint: | ||
* on main before program is started | * on main before program is started | ||
* while the program is running | * while the program is running | ||
* in dynamically loaded plugins, especially in constructors | * in dynamically loaded plugins, especially in constructors | ||
* on a bit of code that was commented out. Make sure it is moved on debugger startup to the first line producing real code below that position and that it is hit there. | | | | * on a bit of code that was commented out. Make sure it is moved on debugger startup to the first line producing real code below that position and that it is hit there. | ||
| | |||
| | |||
|- | |||
| "Step into" a couple of times. Can you step into Qt source code ('''*.cpp''' file under QTDIR)? | | "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.) | | | | (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? | | | | | | ||
| Step through some test* functions and check whether the displayed data looks sane | | | | | | ||
|- | |||
| Test debugging helpers/python lldb: 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. | | 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. | ||
* '''<span class="* int">0 = a + b; | * '''<span class="* int">0 = a + b; | ||
Line 24: | Line 43: | ||
* testEndlessRecursion(); | * testEndlessRecursion(); | ||
* testUncaughtException();| | | | * testUncaughtException();| | | | ||
| 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 | ||
| 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 | | | | Check I/O (qDebug, std::cout, std::cerr) | ||
| Attach to a core file (Linux/Mac: ulimit –c unlimited) | | | | | | ||
| Attach to a running process (might not work on Ubuntu) | | | | | | ||
|- | |||
| 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 | | Test unusual situations: Kill X 'externally' while debugging (both in a 'running' and 'stopped' state), where X is | ||
* the debugged program | * the debugged program | ||
* lldb | | | | * lldb | ||
| | |||
| | |||
|} |
Revision as of 09:23, 7 April 2015
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 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 lldb: 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.
testNullReferenceHelper(pp, qq);
|
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
|