当我们在 Xcode 中执行程序时,有没有办法查看函数调用的顺序?

Posted

技术标签:

【中文标题】当我们在 Xcode 中执行程序时,有没有办法查看函数调用的顺序?【英文标题】:Is there a way to see the order in which functions are called when we execute a program in Xcode? 【发布时间】:2019-07-30 23:36:19 【问题描述】:

例如,在运行时,如果我们按下某个 IBAction 对应的按钮,我们能看到其后方法调用的顺序吗?我知道调试器可用,但当您确切知道要查找的方法调用时,它似乎特别有用。

任何帮助将不胜感激!

【问题讨论】:

不清楚你在问什么。你的方法?可可的方法?这是很多方法!你想解决什么问题? @matt 嗨,马特!抱歉不清楚。我指的是我的方法。我正在尝试解析一些开源代码,我想查看用户执行操作后某些功能(在主项目中实现,而不是 pod)的执行顺序。 好吧,只需插入print(#function) 作为每个方法的第一行。我知道这听起来很原始,但通过这样做我学到了很多东西。 “但当您确切知道要查找的方法调用时,它似乎特别有用。”我不能同意这一点。一直说“步入”。实际上,您可以在不运行任何代码的情况下跟踪您的被调用者或调用层次结构。我不认为你在欣赏你得到的工具。 当您在 Find navigator 中进行全局搜索时,您可以选择 Call Hierarchy。这个棒极了。如果您在某个方法中,请从跳转栏中的第一个图标中进行选择,然后选择 Callers 或 Callees。 【参考方案1】:

Swift 从上到下流动。这是一个很好的帖子。以及你可以运行一个断点,还添加了一个断点的解释。您可以使用它们来停止并手动将 Xcode 推进到下一个要执行的内容,这对调试有很大帮助。

你也可以print("Function x") 在您拥有的每个功能中。然后,这将按执行时间的顺序打印它们。

Swift Flow

Breakpoint Article

【讨论】:

以上是关于当我们在 Xcode 中执行程序时,有没有办法查看函数调用的顺序?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 Xcode 7 的两个不同窗口中打开和查看情节提要?

有没有办法查看 AdHoc 应用程序的日志?

XCode 代码设计问题

在 Xcode 中,有没有办法在调用 NSLog 时禁用调试器控制台中出现的时间戳?

在xcode中使用像素而不是点?

Xcode 12 安装应用程序时出错 - 无法让 FD 捆绑可执行文件