【问题标题】:How do you change the display format of floats & doubles in Xcode debug window?如何在 Xcode 调试窗口中更改浮点数和双精度数的显示格式?
【发布时间】:2012-07-14 08:09:11
【问题描述】:

我在 Xcode 中调试 C 并在函数中设置断点以检查各种双精度值的值。 Xcode 坚持使用科学计数法来显示它们,这真的很痛苦。我需要查看十进制表示。 Decimal 的右键单击“查看值”菜单选项,会做一些奇怪的事情。任何人都知道如何让这个在 printf'n 我想看到的所有内容中播放得很好??

【问题讨论】:

    标签: ios xcode debugging llvm lldb


    【解决方案1】:

    查看LLDB Variable Formatting 文档,特别是靠近顶部的类型格式部分。

    您可以使用type format 命令更改默认输出。

    从上面的链接

    类型格式使您能够快速覆盖默认格式 显示原始类型(通常的基本 C/C++/ObjC 类型:int, 浮点数,字符,...)。

    如果出于某种原因您希望打印程序中的所有 int 变量 输出为十六进制,您可以为 int 类型添加格式。

    这是通过键入来完成的

    (lldb) 类型格式添加 --format hex int

    要更改 jDate 对象的默认显示,您应该能够执行类似

    的操作
    type format add -f float jDate
    

    您可以使用help <format> 从调试器本身获取更多信息,但上面链接的页面读起来很好。

    如果这不能解决您的问题,您可能需要进一步阅读类型摘要。我不记得 Xcode 显示的内容,无论是格式还是摘要。

    此外,WWDC2012 会议 # 415 "Debugging with LLDB" 展示了更改这些显示格式并添加您自己的显示格式的方法。相关部分在 35 分钟左右,但整个会话很棒。

    希望有帮助!

    【讨论】:

    • LLDB Variable Formatting 没有说明转义字符。 {$VAR.year} {$VAR.month} 显示为 Summary Unavailable,但 {$VAR.year}-{$VAR.month} 有效。此外,{$VAR.year}:{$VAR.month} 给出了错误Summary format is not valid,但是像\ \: 一样转义它们可以消除错误,但它会完全像那样显示,包括斜线。
    猜你喜欢
    • 2014-01-08
    • 1970-01-01
    • 2013-08-11
    • 2013-06-01
    • 2012-04-15
    • 2010-11-11
    • 2018-02-23
    • 1970-01-01
    • 2010-09-10
    相关资源
    最近更新 更多