gdb 断点(三)catch

本文详细介绍了在调试过程中使用catchpoints捕获C++异常和系统调用的方法,包括如何设置断点、理解不同类型的event事件以及常见事件的应用场景。重点讲解了在Linux环境下,利用catchsyscall设置针对特定系统调用的断点,为开发者提供了实用的调试工具使用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在调试的时候通常用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
这两个捕获断点一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值