当c#应用程序因第三个非托管库而崩溃时,是否可能在windows中获取coredump或stacktrace 我有一个应用程序,它使用了一些(可能是托管的,不确定的)C托管包装,用于非托管C++库(在这种情况下是GTKβ)。 当应用程序崩溃时,由于C++库中的非托管代码中的一些问题,我的应用程序与发生冲突

当c#应用程序因第三个非托管库而崩溃时,是否可能在windows中获取coredump或stacktrace 我有一个应用程序,它使用了一些(可能是托管的,不确定的)C托管包装,用于非托管C++库(在这种情况下是GTKβ)。 当应用程序崩溃时,由于C++库中的非托管代码中的一些问题,我的应用程序与发生冲突,c#,.net,windows,C#,.net,Windows,“binary.exe已停止工作 Windows正在寻找此问题的解决方案…” 我的问题是,在我看来,这种问题无论如何都不能作为异常捕获,因为它是由非托管代码引起的。(我到处都能看到各种例外情况) 我的问题是:有没有办法以某种方式有效地分析这次崩溃?在linux中,崩溃的mono将生成一个coredump,并将大量调试信息打印到终端中,这非常有用。但在windows中并非如此。有没有办法从崩溃时刻获取我的应用程序的coredump或至少堆栈跟踪,这样我就可以知道我的应用程序在哪一行托管代码上崩溃了

“binary.exe已停止工作

Windows正在寻找此问题的解决方案…”

我的问题是,在我看来,这种问题无论如何都不能作为异常捕获,因为它是由非托管代码引起的。(我到处都能看到各种例外情况)


我的问题是:有没有办法以某种方式有效地分析这次崩溃?在linux中,崩溃的mono将生成一个coredump,并将大量调试信息打印到终端中,这非常有用。但在windows中并非如此。有没有办法从崩溃时刻获取我的应用程序的coredump或至少堆栈跟踪,这样我就可以知道我的应用程序在哪一行托管代码上崩溃了(在调用导致崩溃的非托管代码之前)?

我想一定有更好的方法,但上一次我遇到这个问题时,我在代码中添加了很多debug.print语句,并查看了崩溃前执行的语句。是的,这就是我现在正在做的:)我在谷歌上搜索了这个lnk:看起来很有希望;)