【问题标题】:Why doesn't NSString always display its text in Xcode debugger?为什么 NSString 不总是在 Xcode 调试器中显示它的文本?
【发布时间】:2013-02-08 08:40:08
【问题描述】:

这似乎完全是任意的,有时 NSString 会在调试器中正常显示:

 myStr  NSString *  0x0000000104e00040 @"Hello"

其他时候只是:

myStr   NSString *  0x0000000104e00040

NSString 没有问题,只是它们在调试器中的显示方式。 有什么因素会影响这个吗?

【问题讨论】:

    标签: xcode nsstring


    【解决方案1】:

    我认为这是 IDE 中的一个错误,我认为我们对此无能为力。

    也许堆栈深度会影响...但那是猜测。

    控制台中的po MyStr 总是可以正常工作:)

    【讨论】:

      【解决方案2】:

      您也可以 ctrl + 单击一个对象,然后选择打印说明。

      【讨论】:

      • ;) 我敢打赌,输入 po self->_text 会更快,而且您实际上可以 po 甚至方法调用 po [self MyMethod];
      • 我只是想分享这些信息。如果有人专注于键盘,他可能不知道这种可能性。我稍微改变了我的答案,因为你是对的速度不是重点。感谢您的回复。
      【解决方案3】:

      对于po myString 不起作用的情况,可能是您在 IDE 中过滤控制台输出。 例如,我正在过滤“myFunc”,然后执行po myString。 除非myString 包含字符串“myFunc”,否则它不会显示。 这也过滤掉了上面提到的打印描述方法。

      我认为这不是 XCode 的最佳行为, 如果过滤器只应用于程序的输出,而不是调试行为,那就更好了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-04
        • 1970-01-01
        • 2022-01-17
        • 2011-08-16
        • 2020-03-19
        • 2021-04-17
        • 2021-03-01
        相关资源
        最近更新 更多