swift - 让断点打印调用函数的名称
问题描述
我想让我的断点打印在控制台中调用它的测试的名称。这可能吗?
相关地,我可以让断点条件取决于哪个函数让我们到达断点?
解决方案
虽然不完全是“函数”名称,但您可以使用lldb
's 命令尽可能远地打印调用堆栈。
在 Xcode 中创建一个带有“调试器命令”操作的断点bt 2
(2 限制了要打印的调用堆栈的深度)。如果您不希望断点实际停止处理,请勾选底部的“自动继续...”选项。
当断点被命中时,您将在 Xcode 窗口底部的“调试区域”中的“调试器输出”窗格中看到与此类似的输出。
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x0000000104982fa8 SharingTest`DataManager.loadFromDisk(self=0x000060800005e3f0) at DataManager.swift:66
frame #1: 0x0000000104998dbe SharingTest`AppDelegate.applicationDidBecomeActive(application=0x00007fe6b9600220, self=0x000060400005b2d0) at AppDelegate.swift:56
推荐阅读
- java - 如何用 JSON 字符串中的实际值替换花括号?
- ios - 集成 apollo ios 客户端时出现“为未命名项目加载架构”错误
- javascript - 覆盖对象属性以进行单元测试
- python-3.x - 在 Python 3 中有没有一种方法,只有在文件中转储数据的用户帐户才能访问加载 json 内容
- java - Spring-security:登录用户页面时获得http状态405
- java - 对象使用 lambda 调用自己,困惑
- android - 在 Android 中不调用 React Native getInitialURL()
- javascript - 为什么 Visuall Studio Code 会自动添加 {" "}?
- python - 如何使用 POST 请求数据通过 pymongo 查找数据
- javascript - 用 jQuery 删除括号