在调试的时候通常用catchpoints来捕获事件,如c++的异常等。捕获点的设置通过catch与tcatch两个命令。
tcatch所设置的断点停止一次后自动删除,设置断点的方法与catch相同。
用法:catch event
这些event事件如下:
throw
The throwing of a C++ exception.
catch
The catching of a C++ exception.
exception
exception unhandled
An exception that was raised but is not handled by the program.
assert
Ada 语言 assert断言失败时,断点被踩到。
exec
调用exec时断点被踩到。
syscall
syscall [name | number] ...
通过系统函数的名称和系统号,来设置捕获点,当所设定的系统调用时,断点被踩到。
因为经常在linux用c语言,所以主要用到的event是最后四个,其他的没有仔细研究。
例如:
catch syscall open
catch syscall 5
这两个捕获断点一样。