ios - Xcode lldb 不存储属性
<p><p>我目前使用的是 Xcode 6.3.1。在调试区域,我暂停应用程序并在调试窗口中存储一个类似 <code>p NSString * $test = @"word"</code> 的属性。如果我键入 <code>po $test</code> 输出将是 <code>word</code>,这是完美的,但只要我让应用程序运行。当我再次暂停它超出类/方法的范围时,它们的属性似乎为零。当我输入 <code>p $test</code> 我的输出将是 <code>(NSString *) $test =</code>.</p>
<p>这是此版本 Xcode 的错误还是可以修复?</p>
<p>谢谢</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>这里的问题是您正在创建一个 NSString 并将 lldb 便利变量设置为指向它。但是运行时不知道这个变量持有对它的引用。所以在某个时候 ARC 会释放实际的对象。</p>
<p>我们不会在 lldb 中保留/释放 lldb 便利变量。仅仅因为您碰巧在表达式中引用了某些内容,就很容易最终添加无关的保留,这会以不明显的方式改变程序的行为。</p>
<p>如果您希望使用表达式解析器创建的 ObjC 对象持久化,您可以在其上调用“objc_retain”。</p></p>
<p style="font-size: 20px;">关于ios - Xcode lldb 不存储属性,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/30111648/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/30111648/
</a>
</p>
页:
[1]