LLDB调试器 - 定义自定义类型显示

时间:2017-09-05 17:13:27

标签: c++ debugging lldb appcode app-code

在我们的代码库中,我们使用了libfixmath,这是一个用于根据其计算浮点值的库。因此,值本身都是下面的整数,但我们希望我们的调试器在断点处停止时将它们显示为浮点数。

我们在AppX上使用AppCode作为IDE,如果重要的话,使用C ++和Objective-C制作iOS应用程序。

我们如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

lldb可以为特定类型提供自定义格式。在这里查看详细信息:

http://lldb.llvm.org/varformats.html

唯一的限制是此工具映射类型 - >格式化选项。因此,您不能执行“如果我在某些上下文中看到一个int,将其视为浮点数”这样的事情,那么您只能对所有的int执行此操作。但是如果你有一个包含所讨论的int的包装器类型,你可以很容易地编写一个格式化程序来重新解释包装器类型的内容。

LLDB API将使用上述数据格式化器呈现值,以及呈现数据的所有命令行命令。 AppCode可能使用lldb实现的gdb-MI接口,我认为不支持数据格式化程序。因此,您可能会或可能无法在其“本地”视图中看到结果。