gdb 调试 程序执行脚本信息

 

在使用gdb 调试 程序 的时候,有时候需要设定多个断点,重复执行某些操作,而这些操作写起来比较麻烦,这个时候就应该想起来用gdb命令 脚本了,它能够很好的完成这些工作。
以设置多个断点为例,我写的命令脚本为
---------------------------------------------------
#filename: .gdbinit
#gdb will read it when starting
file test_gdbscript
set args hello
b main
b foo
r
---------------------------------------------------
有两种方式来使用这个脚本: 
1)启动gdb时候
gdb在启动的时候,会在当前目录 下查找".gdbinit"这个文件 ,并把它的内容作为gdb命令进行解释,所以如果我把脚本命名为".gdbinit",这样在启动的时候就会处理这些命令。
2)gdb运行期间
可以使用 source script-file 来解释gdb命令脚本script-file

 

 

在.gdbinit里面设置了断点,但是如果这些断点在某些动态库里 ,gdb会报错:

Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal ]

可以这样解决这个问题

"set breakpoint pending on" 

(gdb) help set breakpoint pending 
Set debugger's behavior regarding pending breakpoints. 
If on, an unrecognized breakpoint location will cause gdb to create a 
pending breakpoint. If off, an unrecognized breakpoint location results in 
an error. If auto, an unrecognized breakpoint location results in a 
user-query to see if a pending breakpoint should be created.

你可能感兴趣的:(gdb 调试 程序执行脚本信息)