方法1 用Windbg Attach到目标进程,并通过!runaway命令来列出各线程所耗费的时间。占用时间最多的就是那些假死的线程了,然后~*kb列出各线程的调用栈,分析一下耗费时间长的线程的调用栈基本可以找出问题所在
方法2 下载个官方工具:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
找到对应进程查看属性,然后查看thread,双击查看调用栈。