【问题标题】:How do I set a watchpoint in Xcode 10?如何在 Xcode 10 中设置观察点?
【发布时间】:2019-06-04 15:54:13
【问题描述】:

理论上,如果我们中断应用程序的执行,并右键单击调试区域的变量部分中列出的变量,我们会得到一个带有选项“Watch variableName”的上下文菜单,如果我们点击它,为该变量设置了一个观察点...... 但是...我总是收到这条讨厌的消息:“错误:在此帧中找不到名为 '$R#' 的变量”,其中 # 因我尝试观看的变量而异。

我在这里做错了吗?

【问题讨论】:

  • 它对我来说很好用(在 Swift 的 Xcode 10.1 中)。那是伊瓦尔吗?本地变量?什么版本的 Xcode(真的只有 10 或 10.1)? Swift 还是 Objective-C?也许您可以多描述一下如何重现这种行为。
  • @Rob 这是带有 Swift 的 XCode 10.1。现在您提到它,它仅适用于局部变量……这应该是正常行为吗?我们不应该也能观察全局变量吗?...
  • 它适用于我的全局变量和 ivars,很好。我在某个我知道变量已初始化的地方使用断点运行(例如在viewDidLoad 或其他任何地方),所以我在该变量的框架中,添加“监视”,继续执行,它正确识别该变量的更改,无论是 ivar 还是全局。也许您可以创建一个MCVE 并概述您正在采取的精确步骤,因为它对我来说很好用。您需要帮助我们重现您所描述的问题。

标签: xcode debugging watch watchpoint


【解决方案1】:

我的错:我没有意识到要为变量设置观察点,必须在声明变量的模块处停止执行。这在全局变量的情况下没有意义,因为它们的范围是整个应用程序。我在另一个模块中我实际使用该变量的某个点停止执行,但由于它是一个未声明的模块,所以我得到了那个奇怪的错误。所以,我在声明变量的那一行设置了一个断点,然后我就可以设置观察点了。

谢谢@Rob,'因为你关于变量范围的问题让我想到了:)

【讨论】:

    猜你喜欢
    • 2011-03-29
    • 2011-11-15
    • 2012-06-27
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 2020-12-20
    • 2023-03-12
    相关资源
    最近更新 更多