我有一个应用程序正在使用一些(可能是托管的,这里不确定)c# 包装器用于非托管 c++ 库(在本例中为 gtk#)。
当应用程序由于 c++ 库中这个非托管代码中的一些问题而崩溃时,我的应用程序崩溃了
“binary.exe 已停止工作
Windows 正在寻找解决此问题的方法..."
我的问题是,在我看来,这种问题无论如何都不能作为异常捕获,因为它是由非托管代码引起的。(我到处都在捕捉各种异常)
我的问题是:有没有办法以某种方式有效地分析这次崩溃?在 linux 中,崩溃的 mono 将生成一个 coredump 并将大量调试信息打印到终端中,这可能很有用。但这不是Windows中的情况。有没有办法从崩溃的那一刻获得核心转储或至少是我的应用程序的堆栈跟踪,以便我可以找出我的托管代码的哪一行(在调用导致崩溃的非托管代码之前)我的应用程序崩溃了?