使用gdb调试的一般步骤
2017-11-04 15:58
197 查看
一般步骤
g++/gcc -g **.cpp -o **
(需加上-g参数,编译阶段将调试信息添加到可执行文件中)
gdb -se -c ** (可执行文件或者dump文件)
进入gdb模式后,设置断点
break(b) 行号/函数名,info b
查看断点,clear
行号/函数清除断点
(1)run(r)
开始运行,(2)next(n)单步调试不进入调用函数,
(3)step(s)单步调试进入调用函数(setstep-mode
on 打开step-mode模式。在进行单步跟踪时,程序不会因为没有debug 信息而不停住。这个参数有很利于查看机器码),(4)continue(c)继续运行
(5)finish运行程序,直到当前函数完成返回。并
打印函数返回时的堆栈地址和返回值及参数值等信息。其对main函数无效
(6)until (u )当厌倦了在一个循环体内单步跟踪
时,这个命令可以运行程序直到退出循环体。
watch
变量名,
变量改变时输出提醒。 print( p )
变量名,打印当前变量值。
set args ** **
可指定运行时参数,show args 命令可以查看设置好的运行参数
run > outfile 使用重定向控制程序输出
path可设定程序运行路径,show paths
查看程序的运行路径
shell
命令
,可以调用bash命令
参考博客:使用gdb调试程序完全教程 <http://blog.csdn.net/gatieme/article/details/51671430>
g++/gcc -g **.cpp -o **
(需加上-g参数,编译阶段将调试信息添加到可执行文件中)
gdb -se -c ** (可执行文件或者dump文件)
进入gdb模式后,设置断点
break(b) 行号/函数名,info b
查看断点,clear
行号/函数清除断点
(1)run(r)
开始运行,(2)next(n)单步调试不进入调用函数,
(3)step(s)单步调试进入调用函数(setstep-mode
on 打开step-mode模式。在进行单步跟踪时,程序不会因为没有debug 信息而不停住。这个参数有很利于查看机器码),(4)continue(c)继续运行
(5)finish运行程序,直到当前函数完成返回。并
打印函数返回时的堆栈地址和返回值及参数值等信息。其对main函数无效
(6)until (u )当厌倦了在一个循环体内单步跟踪
时,这个命令可以运行程序直到退出循环体。
watch
变量名,
变量改变时输出提醒。 print( p )
变量名,打印当前变量值。
set args ** **
可指定运行时参数,show args 命令可以查看设置好的运行参数
run > outfile 使用重定向控制程序输出
path可设定程序运行路径,show paths
查看程序的运行路径
shell
命令
,可以调用bash命令
参考博客:使用gdb调试程序完全教程 <http://blog.csdn.net/gatieme/article/details/51671430>
相关文章推荐
- 使用WinDBG + SOS调试.Net程序的一般步骤
- gcc编译步骤 动态库、静态库的使用、gdb调试、Makefile编写
- ubuntu系统使用 GDB 调试多文件的详细操作步骤
- 使用VIM开发软件项目 - (15) 在VIM中使用GDB调试 (一)
- [zz]使用gdb调试程序详解
- 使用GDB调试程序
- android开发教程之ubuntu使用adb连接小米2的步骤和adb调试方法
- memcached 1.4.21 源代码分析 (1)memcached 安装 、使用及gdb 调试
- 使用gdb调试程序详解和GCC参数详解
- 使用gdb调试Python进程
- 使用GDB调试PHP代码,解决PHP代码死循环问题
- GDB调试精粹及使用实例
- 如何使用gdb调试android webkit内核代码
- GDB调试精粹及使用实例
- GDB调试精粹及使用实例
- 使用gdbserver远程调试
- nginx模块_使用gdb调试nginx源码
- Linux下使用gcc和gdb调试程序
- 使用GDB 调试多进程程序
- GDB使用进阶-Linux程序调试利器