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

lo8azlld  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(192)

在 Xcode 中 运行 调试 器 时 , 当 您 设置 断点 时 , 您 会 看到 一 个 变量 视图 , 并 可以 看到 与 之 关联 的 所有 非常 有趣 的 值 。
是否 有 办法 将 此 数据 保存/导出 到 文件 ?
我 当然 有 一 个 问题 , 有些 地方 是 错误 的 , 但 有 一 吨 的 变量 , 我 想 只是 比较 一 个 运行 的 程序 与 下 一 个 容易 。

brgchamk

brgchamk1#

您可以使用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>
vjrehmav

vjrehmav2#

当您将鼠标悬停在某个值上时,单击双箭头,您将看到一个弹出菜单,其中包含许多选项:
alt text http://idisk.mac.com/cdespinosa/Public/Print%20Description.png
“打印描述”会将有关对象的信息转储到gdb控制台,您可以从该控制台复制和粘贴该信息。

相关问题