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運行時庫致命錯誤?