【发布时间】:2012-08-17 01:02:24
【问题描述】:
我有一个使用外部库的程序。其中一个库(负责相机硬件)启动一个线程并意外崩溃。有时每两分钟一次,有时不是一个小时。没有明显的诱因。线程没有捕获到异常,这会导致应用程序终止。 :(
幸运的是,当kernel32.dll 中的RaiseException() 函数引发异常时,我可以停止应用程序。调用堆栈上没有其他我知道它们的用途的函数。
调试器告诉我,这是一个 std::bad_alloc 异常。调试器是怎么知道的?我能以某种方式获得有关异常的更多信息吗?如有必要,我会查看反汇编,但我不知道从哪里获取信息。
我使用的是 Visual Studio C++ 2010,对汇编程序非常熟悉,并且对 WINAPI 有一定的了解。我们希望尽快发布这个软件,这个错误必须消失。
【问题讨论】:
标签: c++ debugging exception assembly