我正在编写一个广泛使用向量的程序,并且是第一次在 Mac OS X 10.6.6 上使用 Qt Creator 2.0.1 进行开发。
当我调试时,我可以在Locals and Watchers
窗口,但是一旦我去扩展一个向量,在这种情况下类型Student
,我得到这棵树:
与我合作的另一个人在 Ubuntu 上使用相同版本的 Qt Creator,并且可以很好地看到向量的内容。我究竟做错了什么?
这是他的调试器:
QtCreator 2.6 支持 Mac FSF GDB (7.5)。 FSF GDB支持python,可以让qtcreator正确显示QVector、QSet、QList、QString等。可以从macports下载。
- 下载并安装macports(从这里下载http://www.macports.org/install.php)
-
要安装 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))
-
Change the kit debugger in 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\"
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)