在 Xcode 中 运行 调试 器 时 , 当 您 设置 断点 时 , 您 会 看到 一 个 变量 视图 , 并 可以 看到 与 之 关联 的 所有 非常 有趣 的 值 。是否 有 办法 将 此 数据 保存/导出 到 文件 ?我 当然 有 一 个 问题 , 有些 地方 是 错误 的 , 但 有 一 吨 的 变量 , 我 想 只是 比较 一 个 运行 的 程序 与 下 一 个 容易 。
brgchamk1#
您可以使用gdb来完成此操作。以下gdb命令非常有用:
set log file <filename> set logging on ... do interesting stuff ... set logging off
这会将“做有趣的事情”部分记录为文本文件。如果你想做得更好,并且有一组固定的命令/变量要转储,你可以创建一个函数并将其保存在$HOME/.gdbinit中。然后到达一个断点,在gdb提示符下发出dumplog(如果使用下面的示例)。
$HOME/.gdbinit
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>
vjrehmav2#
当您将鼠标悬停在某个值上时,单击双箭头,您将看到一个弹出菜单,其中包含许多选项:alt text http://idisk.mac.com/cdespinosa/Public/Print%20Description.png“打印描述”会将有关对象的信息转储到gdb控制台,您可以从该控制台复制和粘贴该信息。
2条答案
按热度按时间brgchamk1#
您可以使用gdb来完成此操作。以下gdb命令非常有用:
这会将“做有趣的事情”部分记录为文本文件。
如果你想做得更好,并且有一组固定的命令/变量要转储,你可以创建一个函数并将其保存在
$HOME/.gdbinit
中。然后到达一个断点,在gdb提示符下发出dumplog
(如果使用下面的示例)。另一个我刚刚学到的方法是从一个终端发出下面的命令。它的好处是没有人工干预,但是我刚刚尝试过,你会在那个文件中得到相当多的额外垃圾。
vjrehmav2#
当您将鼠标悬停在某个值上时,单击双箭头,您将看到一个弹出菜单,其中包含许多选项:
alt text http://idisk.mac.com/cdespinosa/Public/Print%20Description.png
“打印描述”会将有关对象的信息转储到gdb控制台,您可以从该控制台复制和粘贴该信息。