Buz*_*uzz 7 .net c# windows dll ngen
经过大量的搜索,我仍然无法得到问题的解决方案.
我有一个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.
ngen.exe createpdb "C:\Windows\assembly\...\mscorlib.ni.dll" "C:\SymbolCache"
Run Code Online (Sandbox Code Playgroud)
结果如下:
Microsoft(R)CLR Native Image Generator - 版本4.0.30319.18408版权所有(c)Microsoft Corporation.版权所有.在本机映像'C:\ Windows\assembly\NativeImages_v2.0.507 7_64\mscorlib\5cd1c2848ff40eb0a8c149706ee394fa\mscorlib.ni.dll'中找到无效的标头.未指定的错误(来自HRESULT的异常:0x80004005(E_FAIL))
所以我不知道如何获取Net Framework 3.5的mscorlib.ni.dll的pdb.
任何的想法?
我有同样的错误消息,直到我意识到我从Framework 64文件夹中调用ngen.exe .显然,mscorlib.ni.dll不是64位.
所以我使用了该文件夹中的32位版本的ngen.exe, C:\Windows\Microsoft.NET\Framework\v4.0.30319
并成功生成了PDB.
但是,mscorlib.ni.dll的路径包含...\NativeImages_v2.0.507 7_64\...
,表示它是64位,因此这可能是一个不同的问题.
归档时间: |
|
查看次数: |
2950 次 |
最近记录: |