.NET 4.0 NGEN x64 程序集上的符号解析不起作用
Posted
技术标签:
【中文标题】.NET 4.0 NGEN x64 程序集上的符号解析不起作用【英文标题】:Symbol Resolution on .NET 4.0 NGEN x64 assembly not working 【发布时间】:2012-07-16 17:03:13 【问题描述】:我在 x64 NGEN .NET 4.0 程序集上的符号解析不起作用。
详情:
我有一个 .NET 4.0 命令行程序集,我正在使用带有 x64 配置的 Visual Studio 进行编译。编译后,我在上面运行 NGEN(64 位版本)。
XPERF 分析无法解析我的符号的调用堆栈(使用 -stackwalk 配置文件)失败。我现在正在从这里尝试 Perfmonitor:http://bcl.codeplex.com/releases/view/42784
我已经完成了这些步骤,并且希望调用堆栈能够解决:
启动 NGEN 的 x64 应用程序 PerfMonitor 收集 性能监视器合并 性能监控分析...不幸的是,堆栈跟踪在 PerfMonitor 中也不起作用。
我还尝试将应用程序作为 32 位运行——同样的问题。我的符号使用 symchk /v
检查得很好我不知道如何调试这个损坏的堆栈跟踪功能。
【问题讨论】:
【参考方案1】:不确定我是否理解正确,但您需要生成可分析的 NGEN“程序集”。
IOW:ngen install ass.dll /profile
【讨论】:
立即尝试。会告诉你它是否修复它。感谢您的快速回复 @ThomasKejser:你也可以加入/debug
标志:)
恐怕不走运。还是一样的问题
@ThomasKejser: :( 我会在这里留下我的答案,让未来的人知道我们已经覆盖了这个基础。【参考方案2】:
您需要来自 Windows 8 SDK 的 xperf 版本。此版本支持 .net。使用新的 Performance Recorder UI 开始跟踪,此工具会为生成的 .net 组件生成 PDB,以便 xperfview 和 WPA 可以解码调用堆栈。
【讨论】:
以上是关于.NET 4.0 NGEN x64 程序集上的符号解析不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2012安装:ngen挂起/什么都不做