2012-07-14 82 views
2

在Xcode中调试C并在函数中设置断点来检查各种双精度的值。 Xcode坚持使用科学记数法显示它们,这是一个真正的痛苦。我需要看到一个十进制表示。右击“查看数值”菜单选项小数点,确实很奇怪。任何人都有任何想法如何获得这个发挥很好的短缺printf'n我想看到的一切?如何在Xcode调试窗口中更改浮点数和浮点数的显示格式?

enter image description here

回答

3

退房的LLDB Variable Formatting文档,特别是类型接近顶部格式部分。可以使用type format命令更改默认输出。

从以上链接

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

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

这被敲打

(LLDB)类型格式添加--format六角诠释

要改变你的jDate默认的显示对象,你应该能够做到像

type format add -f float jDate 

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

如果这样不能解决您的问题,您可能需要详细阅读类型摘要。我不记得Xcode显示的是什么,无论是格式还是摘要。

此外,WWDC2012会话#415“使用LLDB调试”显示了更改这些显示格式并添加自己的方法。相关比特大约在35分钟左右,但整个会话很棒。

希望有帮助!

+0

'LLDB变量格式'没有提到任何关于转义字符的内容。 '{$ VAR.year} {$ VAR.month}'显示为'Summary Unavailable',但是{$ VAR.year} - {$ VAR.month}'起作用。另外,'{$ VAR.year}:{$ VAR.month}'给出了错误'Summary format is not valid',但是像'\'或'\:'转义它们可以消除错误,但是它显示就像那样,包括斜线。 – 2015-04-02 14:00:35