o(* ̄︶ ̄*)o

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

gdb使用

----------------------------     终端使用     -------------------------------------------------------
#调试运行中的程序
#获取进程ID命令: ps -ef|grep 替换程序名称 |grep -v grep | awk '{print $2}';
gdb -pid 进程ID(pid);      

#调试程序
gdb 程序名
---------------------------- gdb内部使用 ------------------------------------------------------- #退出 q #查看运行中的程序(执行到哪里了)卡在哪里 bt 或者 where #单文件-打断点,默认main函数所在的文件 b 行号 #多文件-打断点; 备注:文件名有相对路径 b 文件名:行号 #多文件-打断点-函数 b 文件名:函数名 #在循环中,设置当变量i = N值时,停下来 b if 变量名 = 期望值 #查看设置的所有断点位置 info b #查看变量名值 print 变量名 p 变量名 #运行程序 gdb 程序 #查看当前代码所在位置的前后5行,一共10行 list 或者 l #查看指定行数 l 行数 #指定文件,且行数 l 文件名:行数 #结束当前函数体 finish 或 f #运行代码,下一行 s #跳出当前函数 n #继续执行,前往下一个断点 c #打印字符串过长,gdb默认打印200个字符 #1.关闭长度限制 set print elements 0 #2.字符串指针,指定位置开始打印显示 指针+长度 #显示结构体值 info fields 结构体对象 #打印结构体值 p 结构体对象.成员变量

#运行程序,并给参数
r 参数1 参数2 参数3..
run 参数1 参数2 参数3..

 

posted on 2024-06-25 17:47  熊本熊の熊  阅读(22)  评论(0)    收藏  举报