Sign-up....

大虾出手:C++程序CPU占用率高时如何跟踪调试?

程序是多线程的,不清楚是那些代码导致CPU高,有没有相关调试工具来跟踪分析?

例如像Java中有的JProbe工具。使用了MS的Debug工具,只能分析Dump文件。

有分相赠,谢谢!

[95 byte] By [msdn] at [2007-8-15 8:45:13]
# 1 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

你用控制面板中管理工具下的性能监视器看看.

junguo at 2006-2-22 23:50:20 >
# 2 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

这个试了下,不能找出CPU高的代码。

是想分析下CPU高时是程序的哪一部分代码导致的。 还有就是程序CPU高不是启动后就复现,一般是需要等待几个小时才会出现,VC跟时有经常不复现。

哪位高人出招啊,谢谢!

bitspx at 2006-2-23 0:44:27 >
# 3 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

你可以在里面填加记数器,选择thread,可以看到是哪个线程占用的时间多.

junguo at 2006-2-23 0:47:07 >
# 4 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

8知道.

要不你就打开任务管理器.然后单步跟踪程序?真的8知道.帮顶.

iamcaicainiao at 2006-2-23 0:49:56 >
# 5 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

一般在连续进行成千上万次计算的时候,会出现cpu利用率100%的情况

stray1718 at 2006-2-24 17:14:44 >
# 6 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

某线程存在死循环性质的东西。

在VC的调试状态中,试着把那些线程Break;了。

healer_kx at 2006-2-24 17:20:54 >
# 7 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

在线程循环里加 :Sleep(1);

不妨试试

fastzhao at 2006-2-24 17:31:35 >
# 8 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

在vc下按一下暂停不就可以了吗?

JohnTitor at 2006-2-24 19:45:41 >
# 9 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

在linux等下面可以用gdb去attach,记得有朋友说过vs.net也可以的。

不过没用过,如果是我的话,只能是在调试状态下运行,然后出现问题再break

vollin at 2006-2-25 9:26:48 >
# 10 Re: 大虾出手:C++程序CPU占用率高时如何跟踪调试?

对每个thread写日志文件。

运行完成后分析。

ugg at 2006-2-25 9:42:30 >

C/C++

All Classified