我正在编写一个广泛使用向量的程序,并且是第一次在Mac OS X 10.6.6上使用Qt Creator 2.0.1进行开发。
正在调试时,我可以在Locals and Watchers
窗口中看到文字和数组,但是只要我展开一个向量,在这种类型Student
的情况下,我得到这个树:
我正在使用的另一个人是在Ubuntu上使用相同版本的Qt Creator,可以很好地看到向量的内容。我做错了什么?
这是他的调试器:
答案 0 :(得分:8)
QtCreator 2.6支持Mac FSF GDB(7.5)支持。 FSF GDB支持python,允许qtcreator正确显示QVector,QSet,QList,QString等。可以从macports下载。
安装FSF GDB 7.5:
sudo port install gdb
授予FSF GDB调试应用程序的权限:
sudo codesign -s gdb-cert /opt/local/bin/ggdb
如果找不到gdb-cert,请单击下面的链接创建一个gdb-cert,然后按照“创建证书”的说明进行操作:
http://sourceware.org/gdb/wiki/BuildingOnDarwin
如果您未授权ggdb,您将获得:
Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
在QtCreator中更改工具包调试程序
将路径从/ usr / bin / gdb更改为/ opt / local / bin / ggdb
默认情况下,FSF GDB无法正确处理断点,因为mac clang ++不会导出调试符号。要导出调试符号,需要手动运行dsymutil。幸运的是,在使用qmake链接程序后,可以自动运行dysmutil命令。在.pro文件中添加以下行:
macx {
CONFIG(debug, debug|release) {
QMAKE_POST_LINK = dsymutil \"MyApp.app/Contents/MacOS/MyApp\"
}
}
答案 1 :(得分:3)
您需要构建调试助手。应该在工具 - >选项......
一旦构建了调试助手,您就可以可视化std :: string,QString和容器。
在您选择要使用的Qt版本的位置应该有一个重建按钮。
答案 2 :(得分:0)
这两个答案是正确的:一个人不能在mac上使用基于python的调试助手,仍然有一个与Apple的gdb一起使用的C ++版本。