我从C#项目调用C++函数:
[System.Runtime.InteropServices.DllImport("C.dll")]
public static extern int FillSlist(out string slist);
Run Code Online (Sandbox Code Playgroud)
然后
try
{
FillSlist(out slist);
}
catch
{
}
Run Code Online (Sandbox Code Playgroud)
C++ DLL受第三方工具保护,因此在FillSlist真正执行之前正在执行一些代码.当执行第三方代码并且程序完全停止工作时,会发生一些非常糟糕的事情."try"既不会隔离问题也不会执行"AppDomain.CurrentDomain.UnhandledException".
有什么能帮助隔离C++函数与C#调用代码的崩溃吗?