如何查看正在运行的进程/线程的调用堆栈?


Answers:


35
  1. 获取流程资源管理器

  2. 文件菜单启用所有进程的显示详细信息

    在此处输入图片说明

  3. 在主窗格中,选择您感兴趣的过程:

    在此处输入图片说明

  4. 打开所选进程的上下文菜单(单击鼠标右键),然后单击“ 属性”

    在此处输入图片说明

  5. 在“ 线程”选项卡上,您将能够看到该进程内正在运行的线程的列表:

    在此处输入图片说明

  6. 选择您感兴趣的线程,然后单击“ 堆栈”按钮:

    在此处输入图片说明

  7. 现在,Process Explorer将显示所选线程的当前调用堆栈:

    在此处输入图片说明

符号

如果您的故障排除需要您获得更多详细信息,通常将调试符号加载到Process Explorer中非常有帮助。这是这样的:

  1. 如果尚未安装Windows调试器,则必须首先安装Windows调试工具

  2. 在Process Explorer中,从“ 选项”菜单中打开“ 配置符号... ” :

    在此处输入图片说明

  3. 如果您安装了调试工具(或其他Windows调试器),Process Explorer将自动找到 dbghelp.dll文件。否则,请在此处设置正确的路径。

    在此处输入图片说明

    符号路径应该是这个样子:

    SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
    

    您要调整的唯一部分是C:\Symbols。那是调试符号将被缓存的位置。


有没有一种方法可以将所有线程调用堆栈都转储到文件?
bgura
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.