Ral*_*zky 5 c++ debugging assembly exception
我有一个使用外部库的程序.其中一个库(负责相机硬件)启动一个线程并且无法预测崩溃.有时每2分钟,有时不会持续一个小时.没有明显的触发因素.线程没有捕获异常,导致应用程序终止.:(
幸运的是,我可以在RaiseException()函数引发异常时停止应用程序kernel32.dll.调用堆栈上没有其他函数,我知道它们的用途.
调试器告诉我,这是一个std :: bad_alloc异常.调试器如何知道?我可以以某种方式获得有关异常的更多信息吗?如果有必要,我会查看反汇编,但我不知道从哪里获取信息.
我正在使用Visual Studio C++ 2010,熟悉汇编程序并对WINAPI有所了解.我们想尽快发布这个软件,这个bug必须消失.
请改用 Windbg,这是一个硬核调试器,不会隐藏任何内容并“按原样”公开内容。使用sxe语法启用所需的异常(Windgb 将启用在任何 SEH 类型处中断,而不仅仅是 C++)。Windbg 还对第一次机会异常和第二次机会异常进行了明确区分。然后您应该弄清楚这是引发的 C++ 异常还是更基本的 SEH 类型(例如 AV)。