首页 > 解决方案 > Qt 调试器在 mac 上使用错误的 python 版本

问题描述

我在 macOS Mojave 10.14.6 上。我的 Qt 版本是 5.13.1。我的 Qt Creator 版本是 4.10.0。

当我设置断点并运行应用程序时,调试器永远不会完成并打印到调试器日志并显示以下错误。

因此,据我所知,正在使用错误版本的 lldb 的 python。这是 Qt Creator 设置还是 mac 设置,我该如何解决?

dCALL: SETUP ENGINE dSTARTING LLDB: /usr/bin/lldb 设置低级... <1loadDumpers({"token":1}) <2executeDebuggerCommand({"command":"settings append target.source-map /Users/qt /work/qt /usr/local/Cellar/qt/5.13.1/../Src","token":2}) <3setupInferior({"attachpid":0,"breakonmain":0,,"executable" :"/Users/kyle/GoogleDrive/programming/MasteringQt5/Chapter02/build-Sysinfo-Desktop-Debug/Sysinfo.app/Contents/MacOS/Sysinfo","nativemixed":0,"platform":"","processargs" :"","re​​motechannel":"","startmode":1,"sysroot":"","token":3,"useterminal":0,"workingdirectory":"/Users/kyle/GoogleDrive/programming/MasteringQt5/Chapter02/build-Sysinfo-Desktop-Debug/Sysinfo.app/Contents/MacOS"})

(lldb) 脚本 sys.path.insert(1, '/Applications/Qt Creator.app/Contents/Resources/debugger/')

(lldb) 来自 lldbbridge 导入的脚本 * Traceback(最近一次调用最后一次):文件“”,第 1 行,在文件“/Applications/Qt Creator.app/Contents/Resources/debugger/lldbbridge.py”中,第 1912 行打印消息 ^

SyntaxError:调用“打印”时缺少括号。你的意思是打印(消息)?

标签: pythonc++macosqt

解决方案


作为快速修复,在终端中运行它:

defaults write com.apple.dt.lldb DefaultPythonVersion 2

问题是 lldb 的默认版本现在是 Python 3。这导致 Qt 出现一些问题,希望很快得到解决:

https://bugreports.qt.io/browse/QTCREATORBUG-22955


推荐阅读