WinDbg!htrace-diff永远忙碌

WinDbg!htrace-diff永远忙碌,windbg,Windbg,我必须调试一个巨大的Windows服务器应用程序,我们认为它可以处理漏洞 我在做什么: Run WinDbg as administrator Attach to process !htrace -enable !htrace -snapshot g Run test scenario Ctrl-break !htrace -diff 此时,我的WinDbg将永远显示*忙*状态,不打印任何内容 我做错了什么?你不需要打电话给!htrace-snapshot当您第一次启用它时,它会

我必须调试一个巨大的Windows服务器应用程序,我们认为它可以处理漏洞

我在做什么:

Run WinDbg as administrator

Attach to process

!htrace -enable

!htrace -snapshot

g

Run test scenario

Ctrl-break

!htrace -diff
此时,我的WinDbg将永远显示
*忙*
状态,不打印任何内容


我做错了什么?

你不需要打电话给
!htrace-snapshot
当您第一次启用它时,它会拍摄快照。其次,如果应用程序运行了一段时间,并且消耗了大量内存和句柄,那么这将需要一些时间。任务管理器是否显示windbg的cpu活动?你知道你在泄漏什么样的把手吗?您可能会发现使用MS调试工具附带的AppApplication verifier是一个更好的工具,因为它可以跟踪,如果连接了windbg,则会抛出异常以调试,并在出现错误时中断应用程序occurs@EdChum是的,我看到WinDbg在几个小时内消耗了大约13%。还是什么也没印。看起来这是WinDbg无法管理的作业。如果需要这么长时间,您需要做更多的工作来了解正在泄漏的句柄类型,以及在执行此操作之前是否可以证明这一点。此外,您是否需要运行应用程序很长一段时间,然后才能进入并执行差异化操作?我建议首先使用app-verifier,并尝试了解什么类型的句柄正在泄漏first@EdChum. 我确实尝试过应用程序验证程序,它生成了一个巨大的列表,我预计其中包含大量误报。您可以在应用程序验证程序中设置单个事件和中断,例如关键部分泄漏、线程、句柄等。。您是否知道您是否正在泄漏文件句柄、事件、关键部分、注册表项。。等你试过在短距离跑步时跑步、突破、跑动吗?你不需要调用
!htrace-snapshot
当您第一次启用它时,它会拍摄快照。其次,如果应用程序运行了一段时间,并且消耗了大量内存和句柄,那么这将需要一些时间。任务管理器是否显示windbg的cpu活动?你知道你在泄漏什么样的把手吗?您可能会发现使用MS调试工具附带的AppApplication verifier是一个更好的工具,因为它可以跟踪,如果连接了windbg,则会抛出异常以调试,并在出现错误时中断应用程序occurs@EdChum是的,我看到WinDbg在几个小时内消耗了大约13%。还是什么也没印。看起来这是WinDbg无法管理的作业。如果需要这么长时间,您需要做更多的工作来了解正在泄漏的句柄类型,以及在执行此操作之前是否可以证明这一点。此外,您是否需要运行应用程序很长一段时间,然后才能进入并执行差异化操作?我建议首先使用app-verifier,并尝试了解什么类型的句柄正在泄漏first@EdChum. 我确实尝试过应用程序验证程序,它生成了一个巨大的列表,我预计其中包含大量误报。您可以在应用程序验证程序中设置单个事件和中断,例如关键部分泄漏、线程、句柄等。。您是否知道您是否正在泄漏文件句柄、事件、关键部分、注册表项。。等你试过在短跑中跑步、突破、跑动吗?