【问题标题】:How to debug only the code I wrote in Xcode?如何仅调试我在 Xcode 中编写的代码?
【发布时间】:2019-06-13 03:07:48
【问题描述】:

我在 Xcode 中调试我的应用程序,但它变得如此难以做到,因为它也在调试一些我没有编写的代码,而且花了很长时间:

我想从调试中排除所有这些代码行。

有什么想法吗?

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  CG.setId(indexPath.row) //I want to start to debug the app from this line
  performSegue(withIdentifier: "sgShowIssue", sender: self)
}

【问题讨论】:

    标签: xcode debugging


    【解决方案1】:

    如果您发现自己在这样的汇编代码中,您可以使用“Step Out”调试控件退出调用堆栈:

    您通常可以通过使用 Step-Over 控件避免潜入您不想看到的代码:

    【讨论】:

    • 成功了,谢谢!不过,我总是使用 Step-Over 控件。另外,我有一个 performSegue 加载另一个 UIView,在单击“Step Out”控件后,调试停止,我的意思是,它没有转到另一个 Swift 文件。这正常吗?
    • 我要调试的是应用程序在 tableview 中选择一行后运行的代码(它加载另一个 UIViewController)
    • 我刚刚在我的主帖中添加了我要调试的代码,所以你会看得更清楚。
    • 加载另一个视图控制器是一个非常复杂和异步的步骤,而且大部分是在编译代码中。您将无法通过单步调试器来跟踪整个过程。任何在屏幕上绘制的东西都将在您可以通过步进到达的最后一点之后发生(在按下“下一条指令”可能几千次之后)。相反,您通常会在您认为可能跳转到下一个的代码中放置大量断点。
    • 明白了,我会在我认为接下来可能跳转的地方设置断点。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 2021-08-07
    • 1970-01-01
    • 2012-10-07
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多