gdb命令详解

    技术2022-05-19  21

    个人笔记:

    1. 要想使用gdb调试程序,必须在编译的时候加入调试信息,用-g命令,比如 gcc -g -o hello.exe hello.c

    2. 使用gdb 可以执行文件名打开调试文件

    3. 使用list查看源代码(list默认显示10行,在gdb下回车默认执行上一个操作,所以查看源码需要多按几个回车)

    4. 使用run可以将程序运行,kill可以终止运行程序

    5. 使用 break 行号,可以在那一行上面加断点

    6. 使用watch 变量名可以监视变量 (自动显示的,每次你监视的变量的值有变动的时候,就会自动打印变动前后的值)

    7. 使用c命令使程序继续运行至断点处

    8. 使用next命令执行一行源码但是不进入函数内部

    9. 使用step命令执行一行源码并进入函数内部

    10.使用quit命令退出当前调试的程序

    11.使用print可以打印变量,还可以打印数组,如print *a@b,打印数组a的前b个变量

    12.回车操作可以执行上一个命令

    13.info b查看断点信息

    13.delete 编号删除断点信息

     

    以下为反汇编时即不加调试信息时常用的命令

    14.disass 函数名 查看函数的反汇编

    15.set disassembly-flavor intel 将AT汇编转为Intel汇编

    16.更改寄存器 $eax = 4

    17.查看寄存器 p $eax

    18.打印堆栈为 bt

    19.查看内存为 x/20x 0xbffff430

    20.打印堆栈里面字符串的内容 x/s 0xbffff5c9

    21.set disassemble-next-line on 断点时查看行号

    22.ni 在汇编中单步,不进入函数内部

    23.si 在汇编中单步,要进入函数内部

    24.p/x 变量 可以打印变量的十六进制形式

    25.汇编断电是用b *地址 如b *0x0804875a


    最新回复(0)