gdb事件断点,系统调用,共享库加载写在,异常和信号

抛出异常行为.
catch (throw | rethrow | catch ) [regex]
捕获C++的三种异常行为,regex表示捕获类型正则,没有就是所有.

catch syscall [name|number|group:name|g:name]
调用系统的地方设置断点,即应用中断.

name的方式声明.
比如catch syscall open

number的方式声明
catch syscall 1
这种可操作型更强,因为很多的系统调用都没有函数名.

group:name
分组,gdb对系统调用进行了分类.高版本gdb支持

g:name
上面的简写版本。

说明name可以用tab补全。

对共享库装载卸载操作进行监听
catch (load | unload) [regex]
即将动态库添加到内存的时候触发.
或者是从内存中卸载的时候触发.

regexgrep类似.表示共享库名字,匹配的才停止.

捕获信号
catch signal [signal... | ‘all’]
信号集,编号和数字都可以,单个,多个枚举,区间都可以.
all和无参都表示监听所有.

tcatch则是临时版本,即一次性使用.

Guess you like

Origin blog.csdn.net/rubikchen/article/details/115653151