[disas]
反汇编一段指令。可以带零个、一个或两个参数。第一个参数是反汇编开始地址,第二个参数是反汇编结束地址。
如果没有参数,则反汇编当前的函数。
[内存读/写断点]
watch *(int *)0x12345678
在 0x12345678 处下写断点,断点的范围为 4个字节。
gdb支持更大范围的内存写断点。
rwatch ,awatch 用法同 watch ,分别表示读断点和读写断点。
读写断点依赖于 gcc可用的硬件寄存器。
(其实是设置一个watchpoint用于监视表达式的值被读写)
[rbreak REGEX]
在所有满足表达式REGEX的函数上设置断点。这个命令在所有相匹配的函数上设置无条件断点,当这个命令完成时显示所有被设置的断点信息。
这个命令设置的断点和/"break/"命令设置的没有什么不同。
这样你可以象操作一般的断点一样对这个命令设置的断点进行删除,使能,使不能等操作。
当调试C++程序时这个命令在重载函数上设置断点时非常有用。
[寄存器窗口]
(gdb) display /x $eax
[设置反汇编代码使用的指令集]
(gdb) set disas intel
设置反汇编代码使用的指令集,可选择 intel 指令集或 AT&T指令集.
该指令只能用于x86平台。
[捕获"段错误"的信号]
(gdb) handle SIGSEGV
[抛出异常时捕获]
(gdb) catch throw
[强制返回]
(gdb) return
程序直接从当前行跳转到 return 处。如果函数有返回值,则加在 return 命令之后。例如,return 1。跳转中,栈平衡是自动维护的。
GDB的几个TIPS
最新推荐文章于 2022-07-31 22:06:54 发布