代码之家  ›  专栏  ›  技术社区  ›  JMarsch

用visualstudio2010调试crashdump

  •  0
  • JMarsch  · 技术社区  · 14 年前

    我试图让崩溃转储调试工作与2010年,但它不断失败。

    尝试开始调试时出现以下错误:

    托管小型转储调试:文件“C:\Windows”的签名验证\微软.NET\框架\v4.0.30319\mscordbi.dll'失败,错误为0x800700c1。:

    我使用的是我能想到的最简单的程序,只是为了起步(在下面)。

    1. 建造
    2. 右键单击TaskManager中的进程,然后选择“创建转储文件”
    3. 终止进程
    4. 在Visual Studio中打开转储文件(文件|打开,将筛选器设置为崩溃转储)
    5. 选择“混合调试”

    符号加载过多(我启用了MS Symbol server)

    Boom(我得到一个错误对话框,说我需要指定我的符号路径——我相信我已经指定了——MS symbol server已启用,我的解决方案已加载)

    在“输出”窗口中,出现以下错误(请注意,还有一系列成功的符号加载,包括我的exe):

    托管小型转储调试:文件“C:\Windows”的签名验证\Microsoft.NET\框架\v4.0.30319\mscordbi.dll'失败,错误为0x800700c1。

    试验假人程序:

    
        class Program
        {
            public static string AStaticProperty = "Hello World";
            static void Main(string[] args)
            {
                DoLoop(10000);
            }
    
            static void DoLoop(int iterations)
            {
                for (int i = 0; i < iterations; i--)
                    System.Threading.Thread.Sleep(500);
            }
        }
    
    

    编辑

    以下是我所做的:

    1. 我在2010年使用了debug菜单的“save dump file”选项
    2. 我停止了进程并加载了转储文件。

    它工作了,所以我想“嗯,也许问题出在我创建的转储文件上(同时使用了adplus和TaskManager)。

    但是不,现在这些也起作用了。(尽管在我完成上述3个步骤之前,它们的故障非常可靠)。奇怪,但现在我不能重新编程了,所以我要投票结束。

    3 回复  |  直到 14 年前
        1
  •  0
  •   Community CDub    8 年前

    也许这个问题/答案 "Symbol issue when debugging C# code"

        2
  •  0
  •   Lex Li    14 年前

    用于调试转储的常用工具是WinDbg,它在Windows调试工具中提供。对于x64转储,您需要x64调试器,而对于x86,您需要x86调试器。

    visualstudio只支持x86,因此您不应该期望它能够调试所有转储。

        3
  •  0
  •   JMarsch    14 年前

    我认为这是一台不稳定的机器/需要重新启动。我一直无法解决这个问题