在一个C#项目中,我在UnhandledException中创建了minidump。在我的Dev机器中,项目源代码和bin位于路径K:\projects\*MYPROJECT*下,如果我设法让它在我的Dev机器中崩溃,一切都会很好地工作,我可以打开minidump文件,正确地看到源代码、调用堆栈、线程等等。
最终用户程序路径显然是不同的;例如,在我们的测试机器项目中,安装在C:\MYPROJECT*下。它与pdb符号文件一起部署。无论如何,当我试图打开在该机器上生成的微型程序时,在我的Dev计算机上(我有源文件),Visual尝试在“测试路径”(C:\MYPROJECT*)下找到可执行文件和pdb文件,当然没有找到它。
我尝试将符号路径设置为包含K:\projects*MYPROJECT*而没有任何结果,因此我重新创建了相同的Test目录结构,创建了C:\*MYPROJECT*,并在该目录下复制.exe和.pdb文件。现在,Visual能够找到它们,但它说的是“符号文件中没有本机符号”,它不让我看到任何源代码。
如何完成加载正确的符号?
发布于 2014-06-13 09:26:32
终于找到了解决办法。
经过数周的努力,我发现在我的开发机器上,我有一个不同的Framework版本(详细地说,我在测试机器上有v4.0.30319.18444和v4.0.30319.17929 )。我仍然不明白为什么在没有确切的框架版本的情况下我不能调试我的应用程序,但是解决方案是将mscordacwks.dll和mscordbi.dll (它们都在C:\Windows\Microsoft.NET\Framework中找到)从测试机器复制到微型程序所在的文件夹中。
参考资料:SP1中的托管微型端调试
发布于 2014-01-10 12:40:13
若要更改该目录,请Microsoft描述打开“立即”窗口,并键入.exepath [路径]以更改该窗口。
您还可以使用.srcpath [路径]和.sympath [路径]。
https://stackoverflow.com/questions/20396026
复制相似问题