在用gdb调试程序时,有时候会用到某些命令,但由于不像bt,print等命令那么常用,经常忘记。
现记录下来,备忘。
1. 某些情况下,动态库的目录变化了,需要手动指定动态库搜索路径
(gdb) set solib-search-path path-to-so
显示当前搜索路径:
(gdb) show solib-search-path
2. 测试动态库的时候,经常会用到LD_PRELOAD环境变量,在gdb中可以这样设置环境变量(变量值不要加引号)
(gdb) set environment LD_PRELOAD=/path1 /path2
显示当前环境变量:
(gdb) show environment
3. 检查从某个地址开始,若干个32位16进制内存,例如:
(gdb) x/4wx buf
0xbf7fff98: 0x08048746 0xbf7fffb4 0xbf7fffb4 0x02bfd000
其中,w表示以32位word为单位,x表示16进制,4表示打印4个这样的数据。0xbf7fff98是buf保存的地址。
其他类似用法可以参考帮助:
(gdb) help x
阅读(779) | 评论(0) | 转发(0) |