【发布时间】:2017-04-12 20:56:12
【问题描述】:
环境:W10 Pro x64、Visual Studio Premium 2013 Update 5、类库项目、目标框架 .NET 4.5.2。
我在调试我的代码时尝试进入 .NET 源代码,但在我的一生中,我无法让它工作 - 点击 F11/Step Into 会导致调试器进入我的源代码的下一行。我正在尝试拨打Type.InvokeMember()。在 Modules 窗口中,我看到 mscorlib.dll 已加载其符号。一个有趣的信息;不确定它是否相关:mscorlib.dll 的 路径 显示为
C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
但 版本 列显示
4.6.1637.0 built by: NETFXREL3STAGE
所以问题#1:这很糟糕吗? (另外,这里是mscorlib.dll 的符号加载信息):
C:\Program Files (x86)\Sage Software\Sage MAS 500 Client\PO\mscorlib.pdb: Cannot find or open the PDB file.
C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.pdb: Cannot find or open the PDB file.
C:\Windows\mscorlib.pdb: Cannot find or open the PDB file.
C:\Windows\symbols\dll\mscorlib.pdb: Cannot find or open the PDB file.
C:\Windows\dll\mscorlib.pdb: Cannot find or open the PDB file.
C:\Temp\SymbolCache\mscorlib.pdb\a41a5f0d874946f7af63753340e70f252\mscorlib.pdb: Cannot find or open the PDB file.
C:\Temp\SymbolCache\MicrosoftPublicSymbols\mscorlib.pdb\a41a5f0d874946f7af63753340e70f252\mscorlib.pdb: Cannot find or open the PDB file.
SYMSRV: C:\Temp\SymbolCache\mscorlib.pdb\A41A5F0D874946F7AF63753340E70F252\mscorlib.pdb not found
SYMSRV: http://referencesource.microsoft.com/symbols/mscorlib.pdb/A41A5F0D874946F7AF63753340E70F252/mscorlib.pdb not found
http://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV: mscorlib.pdb from http://msdl.microsoft.com/download/symbols: 133365 bytes
http://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
C:\Temp\SymbolCache\mscorlib.pdb\A41A5F0D874946F7AF63753340E70F252\mscorlib.pdb: Symbols loaded.
另外,如果当我的光标在调用
InvokeMember() 时按F12,我会在窗口选项卡上看到一个名为Type [from metadata] 的新“生成的源文件”窗口。将鼠标悬停在选项卡上会给我文本
Preview of C:\Users\conrad\AppData\Local\Temp\6012$CommonLanguageRuntimeLibrary$v4.0.30319$NoDynamic\System.Type.cs [from metadata]
在工具提示中。 InvokeMember 有 3 个声明,用于其 3 个变体。 args最多的一个标注abstract(我正在使用的版本),另外2个有属性
[DebuggerHidden]
[DebuggerStepThrough]
所以 - 问题 #2 - 这些属性会阻止我进入源代码吗?如果是这样,有没有办法覆盖?
感觉就像我已经查看了关于进入 .NET 源代码的所有其他 SO 问题,但没有成功 - 这是我的调试选项:
还有我的符号位置:
【问题讨论】:
-
显而易见的问题:您是否安装了 .NET 源代码?
-
@RayFischer 我没有明确安装任何东西。符号服务器不是按需下载源代码吗?
-
@Conrad,如果您将.NET Framework 版本更改为4.5.1,结果如何?也请选择“要求源文件与原始版本完全匹配”,或者您可以将符号捕获文件夹更改为新的空白路径,再次调试。
-
@JackZhai-MSFT 在降级到 4.5.1 并选择“需要源...”选项后运气不佳。
-
@Conrad,你想直接获取源代码吗? referencesource.microsoft.com/download.html,也许你可以直接下载,然后参考,请清理重建你的项目,重新调试。
标签: c# .net visual-studio debugging visual-studio-debugging