在工作中,我继承了一个很大的代码库。旧版本使用VC6.0编译,在Windows XP和32位Windows 7上运行良好。四核计算机专门用于特殊行业的现场使用。
管理升级到VC2005和VC2013,然而,新编译器生成的二进制文件会产生非常高的CPU使用率,因此UI无法使用。
尝试了一些分析器,但得到了截然不同的结果。例如,一个指向PostMessageA,另一个指向LineTo(MFC功能)。
我应该在哪里查找原因?
答案 0 :(得分:-4)
我很少信任个人资料。我做的一件事是我会反复暂停调试器,看看它到底在哪里。如果它一直以类似的调用堆栈结束,那就是问题可能出现的地方。
当然,如果你有很多线程,你可以玩冻结单个线程并按下播放/暂停。当然,如果存在大量的线程内依赖关系,那将很困难。