如何将所有抛出转换为中止条件以进行调试? [复制]

Posted

技术标签:

【中文标题】如何将所有抛出转换为中止条件以进行调试? [复制]【英文标题】:How to turn all throws into abort conditions for debugging purposes? [duplicate] 【发布时间】:2013-02-21 21:20:38 【问题描述】:

在一个重要的程序中,可能有任意数量的异常被抛出和捕获。虽然这是为了防止崩溃,但它使调试变得更加困难(我使用gdb 进行调试),因为我看不到在调试二进制文件时抛出异常的点(及其回溯),除非我识别出该行并且引入断点。

因此,为了便于分析,告诉g++(或gdb?)将所有throws 视为严重错误会很有用,类似于断言失败。如果不破解代码,这是否可能?

【问题讨论】:

你的调试器应该有办法打破异常。不过我不知道gdb,所以我不知道该怎么做。 @DavidBrown:你是对的。我应该在我的初步搜索中包含 gdb:/ 【参考方案1】:

这是微不足道的。命令是catch throw。开始gdb 将其指向您的可执行文件。发出catch throw 命令,然后发出run 命令。

【讨论】:

啊,我真傻。在我的辩护中,我过去没有使用异常,但我开始对它们进行热身。

以上是关于如何将所有抛出转换为中止条件以进行调试? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将函数的所有参数保存为字符串? [复制]

Android:将所有视图设置为可见以进行测试/调试

gson 抛出 MalformedJsonException

如何将 int 转换为字符串? [复制]

如何在 spark sql 连接条件中将字符串数据类型转换为日期:to_date 不起作用并且转换抛出错误

怎样把excel中所有以文本形式存储的数字转换为数字啊???