当我通过单步调试我的程序时,有时需要很长时间才能完成该步骤。这不是在项目开始时发生的,所以很可能是由于我添加了一些东西。你能否指点一下如何解决这个问题。我注意到其中一个问题是由于主线程试图绘制一个小部件。我的应用程序是多线程的(1个后台线程和1个主线程),所以我想知道它是否与此有关。感谢您的意见。
答案 0 :(得分:2)
猜测:你的“后台线程”是否接近100%的CPU利用率?
在主线程的行之间,在步进时,调试器将允许后台线程也“步进”。如果后台线程被挂起,它可能会运行很多指令,导致事情看起来没有响应。
如果您的第二个线程连续执行那么多计算,可能表示您在应用程序中遇到了另一个需要修复的问题。如果你控制了那个线程,你可能会看到你的调试器处理得更好。
答案 1 :(得分:2)
使用gdb只需要set scheduler-locking mode
到期望的行为。
在这种情况下:“步骤模式优化单步执行。它会阻止其他线程通过在您踩踏时抢占当前线程来”抓住提示“。其他线程很少(或者永远)在你走的时候有机会跑。“
答案 2 :(得分:1)
我问了一个关于visual studio的非常相似的问题:VS2010 debugger takes an unreasonable amount of time
没有真正的答案。您也可以在此处找到与以前版本的IDE类似的问题。