0
我有一个项目由一个调用C++/CLI DLL的C#应用程序组成。如果我在本机代码中有一个Visual Studio C Runtime Library致命错误,似乎无法捕捉它。在(混合).NET代码中捕获C运行时库致命错误?
举个简单的例子,如果我把这个在本地代码:
wchar_t buf[1]; ::wcscpy_s(buf, 1, L"ab");
该应用程序会崩溃(在发布版本)。它不会抛出异常,我不能用__try ...__来捕捉它,除非。
我想捕捉这些类型的错误,所以我可以显示一个很好的错误对话框,理想情况下与一个调用堆栈。我决定创建一个小型转储,但我尝试通过在其中一个C++/CLI DLL中调用:: SetUnhandledExceptionFilter()创建一个小型转储,但似乎也无法工作。
有没有办法在.NET应用程序中正常处理C运行时库致命错误?