如何将所有抛出转换为中止条件以进行调试
How to turn all throws into abort conditions for debugging purposes?
在一个非平凡的程序中,可能会有任意数量的异常被抛出和捕获。虽然这是为了防止崩溃,但它会使调试更加困难(我使用gdb
进行调试),因为除非我识别出行并引入断点,否则在调试二进制文件时,我看不到抛出异常的点(及其回溯)。
因此,为了便于分析,告诉g++
(或gdb
?)将所有throw
视为关键错误是有用的,类似于断言失败。这在不破解代码的情况下是可能的吗?
这很琐碎。命令为catch throw
。启动gdb
,将其指向可执行文件。发出catch throw
命令,然后发出run
命令。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 当回溯以零开始时,如何调试崩溃
- 在没有太多条件句的情况下,我如何避免被零除
- 基于多个条件处理地图中的所有元素
- 条件constexpr函数
- 无论条件是否为true,if总是在c++中执行
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 基于模板值的条件变量
- 在linux上调试巨大的C++项目
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 如何针对特定情况调试和修复此双自由内存损坏问题
- 正在VS调试器中监视映射条目
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 使用调试/崩溃报告将应用程序部署到客户端
- VC++本机单元测试,找不到调试符号
- 条件断点失败的 GDB 特征调试
- 可视化C++条件调试
- 是否有一种方法可以将一个条件设置为gdb中的所有断点,用于调试Cpp代码
- 如何将所有抛出转换为中止条件以进行调试
- 在 Linux 上C++ - 如何 #define #ifdef/#endif 调试条件