如何将所有抛出转换为中止条件以进行调试? [复制]
Posted
技术标签:
【中文标题】如何将所有抛出转换为中止条件以进行调试? [复制]【英文标题】:How to turn all throws into abort conditions for debugging purposes? [duplicate] 【发布时间】:2013-02-21 21:20:38 【问题描述】:在一个重要的程序中,可能有任意数量的异常被抛出和捕获。虽然这是为了防止崩溃,但它使调试变得更加困难(我使用gdb
进行调试),因为我看不到在调试二进制文件时抛出异常的点(及其回溯),除非我识别出该行并且引入断点。
因此,为了便于分析,告诉g++
(或gdb
?)将所有throw
s 视为严重错误会很有用,类似于断言失败。如果不破解代码,这是否可能?
【问题讨论】:
你的调试器应该有办法打破异常。不过我不知道gdb
,所以我不知道该怎么做。
@DavidBrown:你是对的。我应该在我的初步搜索中包含 gdb:/
【参考方案1】:
这是微不足道的。命令是catch throw
。开始gdb
将其指向您的可执行文件。发出catch throw
命令,然后发出run
命令。
【讨论】:
啊,我真傻。在我的辩护中,我过去没有使用异常,但我开始对它们进行热身。以上是关于如何将所有抛出转换为中止条件以进行调试? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
gson 抛出 MalformedJsonException