【发布时间】:2014-05-23 03:44:35
【问题描述】:
是否可以在不丢失 gdb 中的回溯的情况下重新抛出异常?或者 gdb 中有没有办法“备份”几行并从那里回溯?我在 GDB 7.7.1 上,最新的。
我有时会发现自己遇到这样的情况,需要从异常的原始抛出中进行回溯,需要注释掉 try/catch 部分,重新编译,然后在 gdb 中重新运行。
try {
someFuncThatCanThrowException();
} catch(exceptionType& exception) {
if(@CAN_RECOVER@) {
...
} else {
throw;
}
}
----或----
try {
someFuncThatCanThrowException();
} catch(exceptionType& exception) {
exception.printMessageToCout();
throw;
}
【问题讨论】:
标签: c++ exception exception-handling gdb