在XCode调试器中保存变量的内容

时间:2009-09-30 22:22:58

标签: xcode macos debugging

当您设置断点时,在xcode中运行调试器,您将获得一个变量视图,并且可以看到与之相关的所有非常有趣的值。

是否有将这些数据保存/导出到文件中?

我当然有一个问题,哪里出了问题,但是有很多变数,我想简单比较一下这个程序的运行。

2 个答案:

答案 0 :(得分:1)

您可以使用gdb。以下gdb命令很有用:

set log file <filename>
set logging on
... do interesting stuff ...
set logging off

这会将“做有趣的东西”部分记录为文本文件。

如果你想变得非常花哨,并且想要转储一组固定的命令/变量,你可以创建一个函数并将其粘贴在$HOME/.gdbinit中。然后到达断点并在gdb提示符处发出dumplog(如果使用下面的示例)。

# Example that just does some random stuff 
define dumplog
    set logging file foo.txt
    b main
    c
    set logging on
    po var1
    po var2
    set logging off
end

我刚刚学到的另一种方法是从终端发出以下内容。它没有人工干预的好处,但我只是尝试了它,你在该文件中得到了相当多的额外垃圾。

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <filename>

答案 1 :(得分:0)

当您将鼠标悬停在某个值上时,点击双头箭头,您会看到一个包含许多选项的弹出式菜单:

alt text http://idisk.mac.com/cdespinosa/Public/Print%20Description.png

Print Description会将有关对象的信息转储到gdb控制台,您可以从中复制并粘贴它。