使用breakpad创建CLR转储

时间:2011-08-14 07:42:37

标签: windows clr native minidump google-breakpad

我正在使用Google Breakpad为我的Windows应用程序崩溃时生成故障转储。

我的应用程序将C ++本机代码与C#CLR代码混合在一起。 breakpad生成的转储不包含任何CLR信息。

是否可以使用Breakpad打开CLR转储?创建CLR转储需要哪些API?

2 个答案:

答案 0 :(得分:1)

“CLR信息”是什么意思?我一直在使用Breakpad创建故障转储,我可以使用SOS通过它们进行调试。

编辑:以下是您需要做的事情

.loadby sos clr   $$ For .NET 4
~0s   $$ Most crashes are on Thread 0
!pe   $$ Print the exception
~1s   $$ Let's take a look at Thread 1
!clrstack    $$ Dump the managed stack

答案 1 :(得分:0)

正如我在How do I take a good crash dump in .NET中解释的那样,应满足以下条件:

  • 位数匹配过程的位数
  • 需要具有所有内存的转储

后者对应MINIDUMP_TYPE枚举的MiniDumpWithFullMemory