我有一个C++的dll需要调试。由于我使用dll的情况,无法通过调用应用程序进行调试。
因此,我创建了一个try-catch块,在catch中将异常写入文件。
需要调试的行涉及从第三方dll导入的类,因此我无法知道它是什么类型的异常。当我尝试捕获(exception e)时,没有消息被写入文件。所以我尝试了catch(...),它确实触发了一些东西:
使用std::exception::what,唯一被写入文件的是"1"。 使用std::exception::exception,文件接收到了以下代码:"0579EF90"。
是否有任何方法可以检索抛出的异常的有意义信息?
谢谢。
因此,我创建了一个try-catch块,在catch中将异常写入文件。
需要调试的行涉及从第三方dll导入的类,因此我无法知道它是什么类型的异常。当我尝试捕获(exception e)时,没有消息被写入文件。所以我尝试了catch(...),它确实触发了一些东西:
使用std::exception::what,唯一被写入文件的是"1"。 使用std::exception::exception,文件接收到了以下代码:"0579EF90"。
是否有任何方法可以检索抛出的异常的有意义信息?
谢谢。
catch(...)
无法调用std::exception::what
,而std::exception::exception
是一个构造函数,与 "codes" 没有任何关系。你问题中的信息是错误的,需要重新编写。此外,你应该通过引用捕获std::exception
。 - Mooing Duck