我使用一个第3方工具,其使用4党插件。偶尔,该工具将挂的时候推出。看堆的痕迹,我可以看到一些线都在等待WaitForSingleObject,我的打赌是他们的阻挡。一些线开始在3rt方的工具,和一些在第4党插件。

什么我想要做的是文件的最详细的投诉的第3次缔约方工具的供应商,假定这是它的过错(我不信任他们当地的支持,获得那些细节)。对于这一点,我想到:

  1. 找出是什么同步的对象目前一直在等待
  2. 找出谁创造了那些步对象

工具目前正在手VS2005,WinDbg和过程的资源。系统窗口的7 64位。任何建议?

有帮助吗?

解决方案

我用来WinDBG,所以我可以给你一些事情,以试图在那里。第一是让你的符号正确的:

.symfix c:\websymbols .重新加载

和你的堆框架的深入拍成:

.kframes1000

然后我会去!uniqstack,这将消除重复栈和你节省一些时间:

!uniqstack-b

然后这是一个问题的摘通过并试图找到圆形的依赖。不幸的是,难以得到很多的指导,没有更多信息的挂起。你也可以试试!锁,看看这数字出来为您(仅要帮助的关键部分僵局).

搞清楚什么同步的对象,这是上等待是很容易从一个内核试届会议从用户的模式,你们需要跟踪处理和做!手柄上的每一个。是的exe32位或64位?

在弄清楚是谁创造的对象,最好的办法是把在处理追踪通过!htrace,运行情况,然后扔掉跟踪记录。

祝你好运,

-斯科特

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top