在Xcode中使用断点进行调试

时间:2017-05-03 15:38:58

标签: ios swift xcode

我在一行代码旁边放了一个断点。我想看看我的应用程序中编译器接下来会编译哪行。例如,我有这个功能:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    self.navigationController?.pushViewController(UIViewController(), animated: true)
}

我在函数中放了一个断点。当我运行应用程序时,编译器在断点处停止。我怎么知道编译器接下来会在我的代码中使用哪些行?我知道有"跳过"和"步骤"进入,但我不认为这是我正在寻找的。我正在尝试调试我的应用程序以找出故障的原因。

2 个答案:

答案 0 :(得分:2)

  

我如何知道编译器下一代代码中的哪些行?

如果要查看函数返回时继续执行的位置,请使用thread step-outfinish命令退出当前堆栈帧并继续调用调用堆栈帧。

如果您只想知道执行将继续的位置,您还可以使用backtrace命令查看当前线程的堆栈帧列表。顶部框架将是您所在的功能,列表中的下一个将是调用您所在功能的功能,依此类推。然后,您可以转到任何调用函数的代码,并根据需要设置断点。

答案 1 :(得分:0)

您需要设置希望编译器停止的下一个断点。如果你期望它去31号线,你必须把你的断点放在那里。让它跳过将使编译器在下一个断点处停止 - 在此示例中位于第31行 我不知道如何让它自动停在它执行的下一行。