大虾出手:C++程序CPU占用率高时如何跟踪调试?
程序是多线程的,不清楚是那些代码导致CPU高,有没有相关调试工具来跟踪分析?
例如像Java中有的JProbe工具。使用了MS的Debug工具,只能分析Dump文件。
有分相赠,谢谢!
程序是多线程的,不清楚是那些代码导致CPU高,有没有相关调试工具来跟踪分析?
例如像Java中有的JProbe工具。使用了MS的Debug工具,只能分析Dump文件。
有分相赠,谢谢!
你用控制面板中管理工具下的性能监视器看看.
这个试了下,不能找出CPU高的代码。
是想分析下CPU高时是程序的哪一部分代码导致的。 还有就是程序CPU高不是启动后就复现,一般是需要等待几个小时才会出现,VC跟时有经常不复现。
哪位高人出招啊,谢谢!
你可以在里面填加记数器,选择thread,可以看到是哪个线程占用的时间多.
8知道.
要不你就打开任务管理器.然后单步跟踪程序?真的8知道.帮顶.
一般在连续进行成千上万次计算的时候,会出现cpu利用率100%的情况
某线程存在死循环性质的东西。
在VC的调试状态中,试着把那些线程Break;了。
在线程循环里加 :Sleep(1);
不妨试试
在vc下按一下暂停不就可以了吗?
在linux等下面可以用gdb去attach,记得有朋友说过vs.net也可以的。
不过没用过,如果是我的话,只能是在调试状态下运行,然后出现问题再break
对每个thread写日志文件。
运行完成后分析。