Linux下强大的GDB
来源:互联网 发布:ubuntu没有文本输入 编辑:程序博客网 时间:2024/06/04 19:10
Linux下GDB调试常驻程序
不多说,不至于忘记,还是几下以下整理的流程。
>ps -ef|grep <pname> 得到需要调试的进程的pid
>gdb --pid <pid> <pid>为需要调试的进程的进程号
>bt backtrace简写,打印出栈的内容,显示将程序带到当前位置的函数调用和参数值
>frame <number> <number>为bt打印出的栈的编号,使用frame来选择程序的调试起点,也可以使用break来选择指定的行或者函数来作为断点
>s 单步执行
以上几步就可以debug系统的常驻进程了。
以下总结常用命令:
s: 单步执行,进入函数内部,相当于VS的F11
n: 单步执行,不进入函数内部,相当于VS的F10
c:执行到下一个断点,相当于VS的F5
l: 列出代码,后跟数字表示列出多少行
p <var_name>:打印变量
p <var_name>=<new_valaul>:改变变量的值
b <fun_name/line_number>: 设置断点
set args <string>:设置命令行参数
set <var_name>=<new_valaul>:设置变量的值
jump <line_number>:调到相应的行执行
x/NFU ADDR:检查内存值的指令x,x是examine的意思。用法如下:
其中N代表重复数,F代表输出格式,U代表每个数据单位的大小。U可以去如下值:
b :字节(byte)
h :双字节数值
w :四字节数值
g :八字节数值
F可以是以下的一些值:
'x' 16进制整数格式
'd' 有符号十进制整数格式
'u' 无符号十进制整数格式9 k3 z6 M+ G8 O( B) q" ?4 j
'f' 浮点数格式4 k$ k. k,M& h* ?2 d5 ]
因此,上面的指令可以这样解释:从ADDR地址开始,以F格式显示N个U数值。例如:x/4ub 0x4000
意思是以无符号十进制整数格式(u)显示四个字节(b),0x4000,0x4001,0x4002,0x4003。-
参考1:http://blog.163.com/muren20062094@yeah/blog/static/161844416201152031826666/
参考2:http://blog.chinaunix.net/uid-21712186-id-1818222.html
参考3:http://tech.techweb.com.cn/thread-257101-1-1.html
- Linux下强大的GDB
- LINUX下GDB调试 很强大
- 强大的gdb
- linux 下gdb的使用
- linux下的gdb调试
- Linux下的GDB调试
- linux下的GDB调试
- linux下的GDB调试
- linux下gdb的使用
- linux下的gdb调试
- Linux下的gdb调试
- Linux下的gcc/gdb
- Linux下建立强大的FTP
- Codeblocks:linux下强大的IDE编辑器
- APF:Linux下强大的防火墙组件
- linux下强大的shell前端--zsh
- Linux下强大的VI命令
- linux下强大的lftp命令
- 倒计时功能的实现
- jsp标签库(3)
- 使用CPU时间戳进行高精度计时
- 整合 关于未能解析引用的程序集的警告 处理方式
- dorado 知识点
- Linux下强大的GDB
- strace使用详解(转)
- 用php递归和迭代创建级联目录
- jsp标签库(3)
- ADO.Net问题---DataAdapter Update 违反并发性
- C/C++ STL MAP用来处理文件中重复的相同的一行数据的问题
- 在linux2.6内核中加入自己的驱动
- 转载的LK算法
- lucene结果集的分页处理(百度 分页 方式)