【发布时间】:2012-07-14 08:09:11
【问题描述】:
我在 Xcode 中调试 C 并在函数中设置断点以检查各种双精度值的值。 Xcode 坚持使用科学计数法来显示它们,这真的很痛苦。我需要查看十进制表示。 Decimal 的右键单击“查看值”菜单选项,会做一些奇怪的事情。任何人都知道如何让这个在 printf'n 我想看到的所有内容中播放得很好??
【问题讨论】:
标签: ios xcode debugging llvm lldb
我在 Xcode 中调试 C 并在函数中设置断点以检查各种双精度值的值。 Xcode 坚持使用科学计数法来显示它们,这真的很痛苦。我需要查看十进制表示。 Decimal 的右键单击“查看值”菜单选项,会做一些奇怪的事情。任何人都知道如何让这个在 printf'n 我想看到的所有内容中播放得很好??
【问题讨论】:
标签: ios xcode debugging llvm lldb
查看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,但是像\ 或\: 一样转义它们可以消除错误,但它会完全像那样显示,包括斜线。