1 查看寄存器
要查看寄存器的值,很简单,可以使用如下命令:
info registers
查看寄存器的情况。(除了浮点寄存器)
info all-registers
查看所有寄存器的情况。(包括浮点寄存器)
info registers <regname ...>
查看所指定的寄存器的情况。
寄存器中放置了程序运行时的数据,比如程序当前运行的指令地址(ip),程序的当前堆栈地址(sp)等等。你同样可以使用 print 命令来访问寄存器的情况,只需要在寄存器名字前加一个$符号就可以了。如:p $eip。
2 程序跳转
一旦使用 GDB 挂上被调试程序,当程序运行起来后,可以根据自己的调试思路来动态地在GDB 中更改当前调试程序的运行线路或是其变量的值,这个强大的功能能够更好的调试程序,比如,可以在程序的一次运行中走遍程序的所有分支。
2.1 修改变量值
修改被调试程序运行时的变量值,在 GDB 中很容易实现,使用 GDB 的 print命令即可完成。如:
(gdb) print x=4
x=4 这个表达式是 C/C++的语法,意为把变量 x 的值修改为 4,如果你当前调试的语言是 Pa