我是一位研究C ++的C开发人员:
我是否正确理解,如果我抛出异常,那么堆栈将解散,直到找到第一个异常处理程序为止?是否有可能在throw
不放松的情况下(而不离开声明它的作用域或任何更高的作用域)在任何对象上打开调试器?
我要问的原因是,即使有更高范围的异常处理程序,我也对该范围内的本地计算机感兴趣(并且也不想丢失RAII的objs),并且希望在调试过程中对其进行查看。
编辑:主要用于win + linux上的g ++,但对其他平台也很感兴趣。
您没有指定工具集/平台。
但是在MSVC中,您可以配置调试器以中断各种类型的异常,在您的情况下,这将是C ++异常。
详细信息请参见此处:
http://msdn.microsoft.com/zh-CN/library/d14azbfh.aspx
编辑:对于gcc / gdb,请参见以下问题:在GDB中运行应用程序,直到发生异常
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句