- 编译Qt程序:在编译Qt程序时,需要使用
-g
选项来包含调试信息。可以使用qmake
和make
命令来编译你的Qt程序。
qmake *.pro
make
- 启动GDB:使用GDB启动Qt程序。
gdb *.exe
- 设置断点:使用
break
命令设置断点。
break mainwindows.cpp:257
表示在mainwindwos.cpp文件的257行设置断点
- 运行程序:使用run命令
-
查看和修改变量:使用
print
命令来查看变量的值
print m_tableList
使用set
命令来修改变量的值
set myvar=10
- 查看调用栈:当程序停止时,可以使用backtrace或bt命令查看函数调用的堆栈情况
- 结束调试:quit
- 其它有用的命令:
list
:显示当前行的代码段。
info breakpoints
:查看当前设置的所有断点。
delete breakpoint_number
:删除指定编号的断点。
info locals
:显示当前栈帧中的所有局部变量。
finish
:继续执行直到当前函数返回。
continue:继续执行程序直到遇到下一个断点或程序结束
- 核心转储(Core Dump)调试:如果程序崩溃并生成了核心转储文件(core dump),可以这样使用GDB进行调试:
gdb myprogram core
此处myprogram是可执行程序名,core是系统生成的核心转储文件where
紧接着输入where可以查看在哪个文件的哪行那个函数内部发生了核心转储