【问题标题】:Extracting pdb from mscorlib.ni.dll using ngen or other tools使用 ngen 或其他工具从 mscorlib.ni.dll 中提取 pdb
【发布时间】:2015-06-19 16:43:07
【问题描述】:

我正在尝试从 mscorlib.ni.dll 获取 pdb,但在所有情况下都失败了。我使用了支持“createpdb”选项的 PC 中的 ngen.exe。

可以肯定的是,我使用所有 mscorlib.ni.dll 版本运行了所有 ngen 版本。在所有情况下,我都会遇到错误。

有人可以帮助消除对 dll 文件的 pdb 创建。

  • 列表项

D:\Windows\Microsoft.NET\Framework>D:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\a5669e937ab8f4e7928ddb37cc469ae1\mscorlib.ni.dll" c:\symbo
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Can not find native image 'D:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\a5669e937ab8f4e7928ddb37cc469ae1\mscorlib.ni.dll'.  Error=3

D:\Windows\Microsoft.NET\Framework>cd v4.0.30319

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\5bd3374f05d46ba0563f44d032209f08\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\5bd3374f05d46ba0563f44d032209f08\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v2.0.50727_64\mscorlib\6227ee011c9930128c5ad76841ecf2ee\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v2.0.50727_64\mscorlib\6227ee011c9930128c5ad76841ecf2ee\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\c90ef9a73ea0044641d31b19023aad61\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\c90ef9a73ea0044641d31b19023aad61\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\a20cafac04a2e9b3bcb5ec4d674775e5\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\a20cafac04a2e9b3bcb5ec4d674775e5\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\5bd3374f05d46ba0563f44d032209f08\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\5bd3374f05d46ba0563f44d032209f08\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v2.0.50727_64\mscorlib\6227ee011c9930128c5ad76841ecf2ee\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v2.0.50727_64\mscorlib\6227ee011c9930128c5ad76841ecf2ee\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\c90ef9a73ea0044641d31b19023aad61\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\c90ef9a73ea0044641d31b19023aad61\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

D:\Windows\Microsoft.NET\Framework\v4.0.30319>D:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe createpdb "D:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\a20cafac04a2e9b3bcb5ec4d674775e5\mscorlib.ni.dll" "c:\symbols"
Microsoft (R) CLR Native Image Generator - Version 4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.
Invalid header found in native image 'D:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\a20cafac04a2e9b3bcb5ec4d674775e5\mscorlib.ni.dll'.
Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))

【问题讨论】:

  • 您使用哪种 Windows?我在 Windows 8 中对其进行了测试,它可以工作:pastebin.com/jxVLVNvM
  • 在两种类型的 azure 虚拟机上测试 带有描述日志的一种是 Winfows Server 2012 R2 Datacenter 另一种是 windows server 2008
  • 您安装了哪个 .net 版本?我用 .net 4.5.2 对其进行了测试。
  • 您可以使用 Framework 4.x 中的 NGen 从 mscorlib 2.x 生成 PDB 吗?通常,当您匹配框架版本时,这类事情效果最好。
  • 当我运行 ngen 以在 azure VM 上的 2.0 .net 框架中查看其命令行选项时,它似乎不提供 createpdb 选项。同时4.0版本提供createpdb。

标签: debugging dump debug-symbols ngen


【解决方案1】:

我们也遇到过这个问题,解决方法如下:How to get the PDB file for mscorlib.ni.lib (.Net Framework 3.5)

原来我们使用的是来自 Framework64 的 ngen 而不是 Framework(我们需要 PDB 用于 32 位模块)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-28
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2013-05-05
    • 2012-02-05
    相关资源
    最近更新 更多