Objective-C 查找方法的调用者

2023-11-22

有没有办法确定某个代码行method是从哪里打电话来的?


堆栈我希望这有帮助:

NSString *sourceString = [[NSThread callStackSymbols] objectAtIndex:1];
// Example: 1   UIKit                               0x00540c89 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
NSCharacterSet *separatorSet = [NSCharacterSet characterSetWithCharactersInString:@" -[]+?.,"];
NSMutableArray *array = [NSMutableArray arrayWithArray:[sourceString  componentsSeparatedByCharactersInSet:separatorSet]];
[array removeObject:@""];

NSLog(@"Stack = %@", [array objectAtIndex:0]);
NSLog(@"Framework = %@", [array objectAtIndex:1]);
NSLog(@"Memory address = %@", [array objectAtIndex:2]);
NSLog(@"Class caller = %@", [array objectAtIndex:3]);
NSLog(@"Function caller = %@", [array objectAtIndex:4]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Objective-C 查找方法的调用者 的相关文章

随机推荐

  • 建立本地连接时不允许主机连接到此 mysql 服务器 [关闭]

    Closed 这个问题是无关 目前不接受答案 当我尝试使用 putty 连接时 我收到 主机不允许连接到此 mysql 服务器 为什么会发生这种情况 主机和客户端都在我的机器上 当我使用命令行连接时 它会连接 您需要更改配置的设置方式 注释
  • 将键盘事件附加到 html5 canvas

    看起来像mouse events将添加听众canvas元素很好 但是keyboard events似乎不适合canvas元素 例子 http jsfiddle net H8Ese 1 浏览器 铬14 0 FF 5 0 1 我知道我可以使用文
  • 如何在linux mint中将python3更改为默认值

    我在新安装的操作系统 linux Mint 19 3 中将 python3 更改为默认值时遇到了一些问题 在 Ubuntu 16 04 上这非常简单 但现在我需要一些帮助 所以 我跑 python version 并得到了这个 Python
  • UIImagePickerController 不填满屏幕

    我正在向 UIImagePickerController 添加自定义叠加层 并且视图底部有一个持续的黑条 这是我实例化控制器的代码 UIImagePickerController imagePicker if imagePicker ret
  • NSString 是存储在堆上还是堆栈上?初始化 NSString 的好方法是什么?

    我有 2 个新问题 1 考虑这一行 NSString myString NSString alloc initWithString Value 我学到了两件事 但我想确认一下 据我所知 alloc 消息表明 NSString 的实例将存储在
  • Application Insights 不跟踪 SQL 查询

    我正在尝试配置自己的环境 以使用状态监视器将数据发送到 App Insight 并且除了 sql 查询之外工作正常 我在 Azure VM 上有一个环境 其中包含 Azure 数据库 并且 SQL 查询跟踪良好 但在我自己的 VM 中 针对
  • 如何随时恢复 ftp 下载? (shell 脚本,wget 选项)?

    我想从 ftp 服务器下载一个大文件 每个文件大小为 50 100MB 在每个点 我希望能够设置 起始 点和我想要的块的长度 我不会在本地保存 以前的 块 即我不能要求程序 恢复 下载 最好的方法是什么 我用wget大多数情况下 但还有其他
  • Google Drive API:用户尚未授予应用程序错误

    我正在关注Quickstart on https developers google com drive api v3 quickstart python 我已经通过页面启用了驱动API 加载了凭证 json并可以成功列出我的谷歌驱动器中的
  • 单例和 HttpApplicationState

    在 Web 应用程序中 我只需要一个名为 ProcessManager 的类的实例 一种方法是使其成为单例 另一种方法是使用 HttpApplicationState 确保我始终访问同一个实例 如下所示 public static Proc
  • python 使用另一个文件中的变量

    我是新手 正在尝试制作一个简单的随机句子生成器 如何从存储在另一个 py 文档中的列表中提取随机项目 我在用着 random choice verb list 从列表中拉出 如何告诉 python verb list 在另一个文档中 此外
  • 仅计算最后一个指数加权移动平均 pandas

    我知道 对于熊猫来说 通过这样做 test df ewm halflife half life for mean mean 我可以随时得到指数移动平均线 然而我实际上只对最后一个感兴趣 我怀疑通过计算所有它可能有点低效 换句话说 我所需要的
  • TFS 2010 - 在完成“撤消挂起的更改”后,有什么方法可以恢复我的更改吗?

    完成 撤消挂起的更改 后 有什么方法可以恢复我在本地计算机中所做的更改吗 我认为这是不可能的 但我仍然想知道是否有人知道一种方法 如果你有not在 撤消挂起的更改 之后构建您的项目 您可以在 Reflector 中打开 dll 并复制正确的
  • “__get__”参数之一是否多余? [复制]

    这个问题在这里已经有答案了 正如这里所描述的 https docs python org 3 reference datamodel html object get 传递给 get 方法的两个参数 self 除外 分别是访问属性的对象和类
  • Fluent Assertions 可以对 IEnumerable 使用字符串不敏感的比较吗?

    我有一对列表 我正在尝试使用流畅的断言进行比较 我可以轻松地编写比较代码 但我想使用 Fluent Assertions 以便我可以获得在测试失败消息中显示的原因 到目前为止我所看到的所有内容似乎都使用默认的 Object Equals 比
  • 如何将 JRUBY_OPTS 与 RVM 一起使用?

    似乎在基于 RVM 的 Rails 项目中向 JRuby 提供标志的惯用方法是设置环境变量 JRUBY OPTS 或 PROJECT JRUBY OPTS 后者可能是自动完成的 因为我看到我可以从项目目录中取消注释这一行 rvmrc PRO
  • 如何以不同用户身份运行 nohup 而不生成两个进程?

    我试图 nohup 一个命令并以不同的用户身份运行它 但每次我这样做都会生成两个进程 例如 nohup su s bin bash nobody c my command gt outfile txt 这肯定以无人身份运行 my comma
  • pytest 是否应该从虚拟环境中的依赖模块收集测试?

    我正在尝试在另一台笔记本电脑上设置一个项目 而不是我的典型开发机器 这个项目有几个基于 pytest 的测试 是我在项目的整个生命周期中编写的 当我跑步时 pytest k tests my test py 我从 sqlalchemy 测试
  • 使用默认值从 SelectList 创建 DropDownListFor

    我有一个dropdownlistfor Html DropDownListFor model gt model Item Item Status new SelectList Model AllStatus id Description n
  • 在 dc.js 中向饼图添加图例

    我正在构建一个基于 dc js 的可视化 其中一个图表是饼图 看 http jsfiddle net luiseth t8we6 我的情况的特殊性在于 该图表将显示的标签通常相当长 以至于通常会被图表的容器 div 所以我想到让它们出现在图
  • Objective-C 查找方法的调用者

    有没有办法确定某个代码行method是从哪里打电话来的 堆栈我希望这有帮助 NSString sourceString NSThread callStackSymbols objectAtIndex 1 Example 1 UIKit 0x