【问题标题】:How to change default type for "View Value as" in Xcode Debugger如何在 Xcode 调试器中更改“查看值为”的默认类型
【发布时间】:2016-05-16 06:52:08
【问题描述】:

当我在 Xcode 中输入断点时,我可以在调试器区域中看到变量视图。

由于我正在使用的 UInt32 类型代表 Unicode 值,我想将显示值从十进制更改为十六进制或某些 Unicode 类型。我可以通过右键单击并选择 View Value As 来做到这一点。

这给了

但我发现自己不得不一遍又一遍地这样做。

有什么办法可以改变默认的显示类型吗?

我以为我以前见过这个,但事实证明它是 Android Studio 的a similar question。我查看了首选项,但那里也看不到任何内容。

【问题讨论】:

  • Unicode 字符在 Objective-C 中使用 unichar(16 位类型)表示。你为什么用uint32_t?
  • 我使用 Swift 而不是 Obj-C 进行编码。出于多种原因(请参阅this question 及其编辑历史和答案),我决定使用 Unicode 标量而不是 unichar 或 Swift Character。但是即使是unichar或者别的什么,我还在寻找一种方法来改变调试器区域的默认显示类型。

标签: ios xcode debugging


【解决方案1】:

“类型格式添加”命令将执行您想要的操作。做:

(lldb) help type format add

了解更多详情。它将更改给定类型的任何变量的默认格式。您可以在 lldb 提示符或 ~/.lldbinit 中输入这些信息。需要注意的是,当格式化程序更改时,Xcode 本地视图不会自行更新,因此您必须“逐步”以获取格式更改以进行注册。

如果您混合了用于此目的的 UInt32 和其他用作 UInt32 的(因此希望以默认格式查看),则可以使用另一个技巧,您可以创建 UInt32 的类型别名,并且当您打算使用 Unicode 时使用它。然后您可以将格式化程序放在 typealias 上而不是 UInt32 上。这样,您将获得所需的格式,而不是其他用途。

您可以使用的另一个小技巧是在您制作特殊类型格式时将它们添加到类别中(使用 -w 选项。)这允许您使用“类型类别启用/禁用”来转换您的特殊格式无需记住“类型格式添加”命令即可打开和关闭。如果您这样做,请注意类别是“禁用”创建的,因此您必须先启用该类别才能看到其效果。

【讨论】:

    猜你喜欢
    • 2018-03-20
    • 1970-01-01
    • 2021-06-09
    • 2011-03-28
    • 1970-01-01
    • 2021-02-12
    • 2011-04-08
    • 2019-10-06
    • 2011-03-23
    相关资源
    最近更新 更多