在异常时我想调试没有任何堆栈展开

时间:2014-02-15 16:39:10

标签: c++

我是一名研究C ++的C开发人员:

我是否正确理解如果我抛出异常,那么堆栈将展开直到找到第一个异常处理程序?是否有可能在没有展开的任何throw上打开调试器(即没有离开声明它的范围或任何更高的范围)?

我问的原因是,即使有更高范围的异常处理程序 - 我对该范围的本地人感兴趣(并且也不想丢失RAII的objs)并且想看看他们在调试期间。

编辑:主要是针对win + linux上的g ++,但也对其他平台感兴趣。

1 个答案:

答案 0 :(得分:1)

您没有指定工具集/平台。

但在MSVC中,您可以配置调试器以中断各种类型的异常,在您的情况下,它将是C ++异常。

详情请见此处:

http://msdn.microsoft.com/en-us/library/d14azbfh.aspx

编辑:对于gcc / gdb,请参阅此问题Run an Application in GDB Until an Exception Occurs