做了很多search之后,我仍然无法得到问题的解决scheme。
我有一个mdmp文件。 调用堆栈显示它正在使用mscorlib.ni.dll。 所以要获取函数信息,我需要得到它的pdb文件。
mscorlib.ni.dll的版本是2.0.50727.3655。 我相信它来自.Net Framework 3.5。
由于mscorlib.ni.dll是由ngen.exe生成的本机优化的dll,所以我需要使用ngen.exe createpdb生成此dll的pdf。
为什么即使在NetworkStream.EndRead返回0字节后,我仍然在接收数据?
如何在Mono中获得“友好”的串口名称并保持跨平台
在Windows 8中检测重启 – 未调用SessionEnding
如何通过WMI获取IIS应用程序信息
OraOLEDB.Oracle提供者未在本地机器上注册
ngen.exe createpdb "C:Windowsassembly...mscorlib.ni.dll" "C:SymbolCache"
结果如下:
在“C: Windows Microsoft.NET Framework64 v3.5”文件夹中找不到ngen.exe
我可以在文件夹“C: Windows Microsoft.NET Framework64 v2”中findngen.exe,但没有createpdb选项。
我可以在文件夹“C: Windows Microsoft.NET Framework64 v4.0.30319”中findngen.exe,它确实支持createpdb选项,但报告错误。
Microsoft(R)CLR本机映像生成器 – 版本4.0.30319.18408版权所有(c)Microsoft Corporation。 版权所有。 在本机映像“C: Windows assembly NativeImages_v2.0.507 7_64 mscorlib 5cd1c2848ff40eb0a8c149706ee394fa mscorlib.ni.dll”中find无效的头文件。 未指定错误(从HRESULTexception:0x80004005(E_FAIL))
所以我不知道如何获得Net Framework 3.5的mscorlib.ni.dll的pdb。
任何想法?
Win7 x64启动时MysqL Workbench 5.2.42崩溃
依次读取大量的小文件
ProductName在Windowsregistry中,它是针对不同的语言本地化的?
如何使用log4net xml configurator在Windows中使用文件夹位置指定日志文件path?
我可以使用C#/ .NET以编程方式禁用窗口自动播放function吗?
我有相同的错误信息,直到我意识到我从Framework 64文件夹调用ngen.exe。 显然,mscorlib.ni.dll不是64位的。
所以我使用了C:WindowsMicrosoft.NETFrameworkv4.0.30319文件夹中的ngen.exe的32位版本,并成功生成了PDB。
但是,mscorlib.ni.dll的路径包括...NativeImages_v2.0.507 7_64... ,这表明它是64位的,所以这可能是一个不同的问题。
就像Monsignor的回答一样,对我来说,解决方案是匹配比特(64位或32位)。 我的小型转储是64位,所以我不得不去的Framework64文件夹,并从那里运行ngen,它很好。 我最初得到了与此处所述相同的ngen错误(在本机图像中发现无效的头… E_FAIL),因为我在Framework文件夹而不是Framework64文件夹(facepalm)。
然而,即使ngen命令工作…在我的方案中,最终生成的pdb仍然不被VS 2013接受为匹配符号文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。