我需要单步执行Qt代码来帮助解决我的C ++应用程序中的错误。我已经从here下载了qt-mac-opensource-src-4.5.2.tar,并按照随附的安装说明进行操作:
DYLD_IMAGE_SUFFIX
环境变量设置为_debug。这个已安装的Qt和我的Qt应用程序运行,但我仍然无法进入Qt代码。
我正在使用Xcode 3.1.3并尝试将可执行信息更改为“在加载框架时使用调试后缀”。这产生了许多警告,如:
警告:找不到对象文件“/private/tmp/qt-mac-opensource-src-4.5.2/src/corelib/.obj/debug-shared/qmalloc.o” - 没有调试信息可用于“global / qmalloc.cpp”。
警告:找不到对象文件“/private/tmp/qt-mac-opensource-src-4.5.2/src/corelib/.obj/debug-shared/qnumeric.o” - 没有调试信息可用于“global / qnumeric.cpp”。
以及许多与非qt相关的警告。
我会在一夜之间关闭Macbook Pro,我只能假设清除了tmp目录,因为解压后的文件不再存在。
我想我可以通过在没有框架的情况下重建Qt来修复它,但这更像是一种解决方法,而不是一种可能会回来咬我的修复方法。我也有点不愿意这样做,每次重建需要3到4个小时。
或者,下载二进制文件和调试库是否可行?
对于我所缺少的内容以及如何解决这个问题,我将不胜感激。
感谢。
答案 0 :(得分:4)
在Qt支持的帮助下,我现在已经解决了这个问题。
有几个问题:
Qt调试“make install”目前不会为_debug生成dSYM文件。他们提出了一个关于此的错误。为了解决这个问题:
4A。 cd /usr/local/Trolltech/Qt-4.5.2/lib
4B。输入/usr/bin/dsymutil -o QtGui.framework/QtGui_debug.dSYM QtGui.framework/Versions/4/QtGui_debug
4C。对每个Qt框架重复一遍。
每次重启时都会擦除tmp目录。为了解决这个问题:
7-将/tmp/qt-mac-opensource-src-4.5.2
的全部内容复制到新目录~/Qt
。
我还在Xcode项目中添加了框架和源代码。
答案 1 :(得分:2)
看看这个http://doc.trolltech.com/4.5/debug.html 在MacOSX和Xcode下有一个专门用于调试的部分...... 我想你需要使用qmake生成带有调试选项的makefile!
答案 2 :(得分:2)
在OS X 10.6和10.6.1中,将DYLD_IMAGE_SUFFIX
设置为_debug
will cause problems。希望这将通过OS X 10.6的未来更新来解决。