Debug hacks--gdb调试

gdb流程如下:

1. 带着调试选项编译,构建调试对象。

2. 启动调试器。

2.1. 设置断点。

2.2.显示栈帧。

2.3.显示值。

2.4继续执行。

1. gcc一些选项

-g 调试信息

CFLAGS = -Wall -O2 -g

-Werror  告警当错误处理

2.启动

1)gdb进程名

2)gdb -c corename

  然后file 进程名, file debug文件名

3)gdb -e 可执行名-c core文件-s debug文件

3. 设置断点

1)break 函数名

2)break 行号

3)break 文件名:行号

4)break文件名:函数名

5)break+偏移量

6)break-偏移量 (当前暂停位置)

7)break *地址

8)b 下一行设置断点。

info break可以查看哪些断点。

set args xxx

run 执行

bt显示栈帧 bt N/-N 显示开头/最后几个栈帧

print val显示变量

info reg显示寄存器的值

p $eax显示寄存器值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我沿着苍翠的小路一路往上,转一道弯,再转一道弯,我便见到了阔别多年的老房子。秋日的暖阳斜斜洒在院子里,老房子一声不...
    狂樱白狐阅读 349评论 0 1
  • 8月24日 星期四,晴 【今日分享 】 为什么有些客户会付钱给你? 是因为你给对方提供了价值。 为什么有些老客户付...
    徐玉洁阅读 143评论 0 0
  • 今天,跟部门新来的四位小伙子说了说话 主要是我说,他们听着 内容如下: 1、做好自己的本职工作,做好的事,不要学他...
    郭大牛先生阅读 204评论 0 0
  • 一、静态库简介 1、什么是库 库:是一种程序代码的集合,是共享程序代码的一种方式 2、库的分类 开源库公开源代码,...
    紫荆秋雪_文阅读 681评论 0 0