我最近注意到在windows中运行gdb中的程序会让它慢很多,我想知道原因。
以下是一个例子:
我想知道gdb正在做什么让它运行得如此之慢。我对调试器的工作方式有一些基本的了解,但是我无法弄清楚它在这里做了什么,谷歌这次没有帮助我。
答案 0 :(得分:3)
我终于找到了问题,感谢大狼请我测试其他调试器。 Ollydbg与gdb的时间相同,因此它不是gdb问题,而是Windows问题。这个提示改变了我的搜索条件,然后我发现这篇文章*很好地解释了这个问题并提供了一个非常简单的解决方案:将环境变量_NO_DEBUG_HEAP定义为1.这将禁用特殊堆系统窗口提供的使用和c ++程序使用。
*这里是链接:http://preshing.com/20110717/the-windows-heap-is-slow-when-launched-from-the-debugger/
答案 1 :(得分:0)
我曾经遇到过gdb非常慢的问题,我记得禁用nls(本地语言支持,即所有消息的翻译)可以解决这个问题。
配置时间选项为--disable-nls
。我可能错误地认为是什么是真正的原因,但无论如何它都值得一试。
我当时的错误报告是here,虽然得出的结论是我错了。如果您能够进一步了解这一点,那就太棒了!