我正在尝试使用Qt Creator 3.5.1来调试我编写的一个软件。我注意到,虽然调试我的程序只是暂停在随机点,我误解了这些问题的线程问题。然而,最终我发现,即使我运行最简单的程序,调试器也会在不完成的情况下继续运行。
我在Mac(El Capitan)上运行,使用Qt 5.5.1和Xcode 7.3。
这是我非常简单的测试程序:
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "Howdy, this is a simple test program." << std::endl;
return 0;
}
当我在Qt Creator中以调试模式运行它而没有设置任何断点时,它就永远不会完成:
Debugging starts
Howdy, this is a simple test program.
只有当我多次按下stop
按钮时,调试器才会以Debugging has finished
当我查看“调试器日志视图”时,它向我显示了崩溃事件的Python异常。我不知道如何解决这个问题。
ERROR: Lldb stderr: Exception in thread Thread-1:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/Users/Stan/Qt5.5.1/Qt Creator.app/Contents/Resources/debugger/lldbbridge.py", line 765, in loop
self.handleEvent(event)
File "/Users/Stan/Qt5.5.1/Qt Creator.app/Contents/Resources/debugger/lldbbridge.py", line 1383, in handleEvent
% self.hexencode(msg))
File "/Users/Stan/Qt5.5.1/Qt Creator.app/Contents/Resources/debugger/dumper.py", line 478, in hex encode
return s.encode("hex") eAttributeError: 'NoneType' object has no attribute 'encode'
它可能什么都没有,但我现在手上有一个很大的挑战,我宁愿不使用我不能相信的调试器。
感谢。
答案 0 :(得分:2)
显然,您可以通过在Qt Creator的来源中应用此补丁来直接解决问题:https://codereview.qt-project.org/#/c/154748/
它对我有用。