生成包含.NET进程符号的转储文件

时间:2015-07-30 09:04:53

标签: c# asp.net .net debugging dump

我正在尝试分析.NET进程(w3wp.exe)的线程和内存使用情况。为此,我从任务管理器生成.dump,右键单击该进程并创建.dmp文件。我是在64位机器和64位进程上执行此操作。

当我尝试使用Visual Studio 2013中的.dmp文件调试进程上的线程和内存利用率时,我看不到所有线程和内存数据。

我如何验证默认情况下符号是否正确加载并可用于查看所有线程和内存对象?我是否需要手动加载特定dll的符号?

1 个答案:

答案 0 :(得分:0)

请注意这些条款。你不需要符号来看线程。需要符号来解析调用堆栈和变量。看到调用堆栈可能就是您所需要的。

在VS2013中:

  1. 转到“调试/选项和设置...”
  2. 转到调试/符号
  3. [x] Microsoft Symbol Servers
  4. 对于您自己的符号,请点击"新"按钮在同一个对话框中并添加一个本地目录。

    无法创建包含符号的转储。您始终可以独立于转储获取符号,例如通过HTTP(如Microsoft符号)或本地目录(在编译时创建)。

    Visual Studio将加载符号(如果它们与转储匹配),或者根本不加载符号,因此无需检查它们是否正确加载。如果你看到一个调用堆栈,它应该没问题。