有没有办法对所有按钮 touchUpInside 方法断点?

2024-01-03

有时,当您的项目包含非常不受托管的代码时,就会发生这种情况,因此您无法弄清楚如何解决一个简单的问题。在大多数情况下,调试器可以帮助我们到达根源,我只是想知道 xcode 调试器有多强大。当我使用像 OllyDbg 这样的 asm 调试器时,这些为我们提供了一个不。我最常用的断点选项是单击事件或点击事件上的断点。那么有没有办法在 xcode 项目上放置类似的断点?


听起来你正在寻找一种陷阱的方法anyUIButton 被点击的时间。为此,我将设置一个符号断点。在断点导航器 (⌘7) 中,单击屏幕底部的加号并选择添加符号断点

在对话框中,将以下内容添加到Symbol field:

-[UIControl sendAction:to:forEvent:]

这比你要求的要多一点。实际上,除了 UIButton 之外,它还会捕获来自许多事物的所有事件。不过,我敢打赌您可以让它满足您的需求。现在运行应用程序并点击一个按钮。当它到达断点时,调试器看起来与您可能习惯看到的正常堆栈跟踪略有不同,因为您将在没有源代码匹配符号的位置处到达断点。只需几个命令,您就可以破译相当多的内容。例如,请参见下面的屏幕截图。

这就是我所做的,以及其中的一些含义。第一件事是跳到 (F6) 到下一个命令的开头(例如第 12 行),以确保传入变量的所有寄存器都已正确填充。从那里开始,我开始在寄存器中挖掘有趣的信息。在此示例中,寄存器 r15 是调用对象(按钮!),r14、r12 和 rbx 是参数(第 4 - 7 行)。当寄存器中的值是指向对象的指针时,您可以像在“正常”堆栈帧中一样“打印对象”。例如。:

(lldb) register read r15
 r15 = 0x00007fc6f4a24510
(lldb) po 0x00007fc6f4a24510
<UIButton: 0x7fc6f4a24510; frame = (0 0; 414 100); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7fc6f4a247b0>>

(lldb) po [[(UIButton *)0x00007fc6f4a24510 titleLabel] text]
Done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法对所有按钮 touchUpInside 方法断点? 的相关文章

随机推荐

  • 在 R 中使用 t.test() 时出错 - 没有足够的“x”观测值

    我尝试进行 t test 但它给了我这样的错误 在 R 中使用 t test 时出错 没有足够的 x 观察值 数据只有数值 没有 NA 组的比例是10比35 如何避免这种情况 先谢谢您的帮助 t test data Vrajdeb data
  • spring tx:advice和spring aop切入点的区别

    我是 Spring 新手 具有 Hibernate 的工作知识 我的工作是使用 Spring 声明式方法来实现事务 在 Google 的帮助下我成功完成了 感谢 Google 但无法清楚地理解我在 application context x
  • 如何正确配置 Julia 便携式或独立式

    如何正确配置Julia 便携式或独立式 https julialang s3 julialang org bin winnt x64 1 5 julia 1 5 0 win64 zip 对于外部存储 USB 驱动器发生的一切 添加 更新软件
  • libpcap 还是 PF_PACKET?

    我知道这个问题已经讨论过很多次了 我应该使用 libpcap 还是 PF PACKET 数据链路套接字 来捕获数据包 根据我的研究 几乎所有地方都建议使用 libpcap 而不是 PF PACKET 主要是因为它的可移植性 然而 对于我当前
  • 替换 Flutter 中的片段等小部件

    我是颤振新手 我有一个带有 2 个子小部件 Android 中的 2 个片段 的应用程序 当我单击 WidgetA 中的下一个按钮时 我想将该小部件替换 或推送 到 WidgetChildA 中 就像 Android 中的推送 或替换 片段
  • 什么开源消息队列软件可以提供严格排序的耐用性?

    我们需要的是实际上作为队列工作的 RabbitMQ并且不这样做 http www rabbitmq com faq html message ordering 消息应该保留在队列的头部 直到客户端明确地将它们出队 这似乎是一个非常简单的场景
  • Asp Net Core Web 推送通知

    主要目标是向站点添加发送 Web 通知的功能 以弹出系统通知 以使用 Html5 Push API 和服务工作人员提醒用户 不使用 SignalR 它只能在打开站点时运行客户端脚本 如前所述 还应该能够在网站关闭时发送通知here http
  • CMake - 在 Linux 中编译,在 Windows 中执行

    我有一个具有 Linux 依赖项的大型代码库 我想使用 CMake 将我的代码编译成可以在 Windows 上运行的可执行文件 即我希望 CMake 生成一个 exe 文件或类似性质的文件 我尝试过使用CMake网站上提供的解决方案 htt
  • Android Studio 本身不显示“数据库检查器”

    我使用的是4 2版本 这是Android Studio的最新版本 正如文档中所述 我在 视图 gt 工具窗口 中搜索了数据库检查器 但它没有出现在那里 我如何找到数据库检查器 任何帮助将不胜感激 Thanks in advance 我刚刚解
  • 为什么 doctests 在使用 Sphinx 的 `make doctest` 运行时会引发 NameError?

    我有一个简单的带有 doctest 的函数 http git io Tq2fTw 当与 Sphinx 一起运行时make doctest 给我以下错误 File scheemey rst line in default Failed exa
  • CodeIgniter头像上传

    这是新的 HTML
  • 将参数作为 std::string 或 const std::string& 传递? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中 按值传递还是按常量引用传递更好 https stackoverflow com questions 270408 is it better in c to pass by value or
  • 在这种情况下我可以忽略 C4251 警告吗?

    我明白为什么在编译代码时出现 C4251 警告 如中所述here http msdn microsoft com en us library esew7y1w aspx 我的问题是 如果可访问的导出类成员来自 STL 我们可以忽略 C425
  • 在所有网页上保留我的页眉和页脚?

    我已经完成了网站主页的设计 现在已经开始处理其他一些页面 我希望页眉和页脚在每个页面上显示相同 我已经尝试过这种基本方法来链接构成第二个 HTML 文件中的页眉 页脚的相同样式表 已在主页中使用 我现在明白这是行不通的 服务器端脚本语言是我
  • 向后台脚本发送消息

    我正在尝试实现一个屏幕共享 Web 应用程序 该应用程序将使用desktopCapture Chrome API 在网页上显示用户屏幕 我已经创建了 chrome 扩展 并在后台运行了一个事件侦听器 我的问题是 当我尝试从网页向扩展程序发送
  • 为什么布尔字段在 Hive 中不起作用?

    我的配置单元表中有一个数据类型为布尔值的列 当我尝试从 csv 导入数据时 它存储为 NULL 这是我的示例表 CREATE tABLE if not exists Engineanalysis EngineModel String Eng
  • 绑定到嵌套属性仅显示列表中的第一项

    我正在尝试将 NET 4 5 中的 C Winforms 中的 ListBox 控件绑定到具有我希望用于 DisplayMember 的嵌套属性的对象列表 它有点有效 除了当我将 DisplayMember 设置为嵌套属性时 列表框仅显示一
  • 如何将 TForm 作为参数传递给 DLL?

    我想制作使用 tform 作为参数的 dll 简单的计划是如果将该表单传递给 dll 则 dll 文件返回包含组件名称的数组 可以将 tform 作为参数传递吗 您的进程中很可能有两个 VCL 实例 一个用于主机 exe 另一个用于 DLL
  • 插入元素后如何让 jquery 将行为附加到元素

    我有一个通过 ajax 提交的表单 并返回一个更新的 html 块 其中包含我想通过 jquery 提交的更新表单 我遇到的问题是 第一次单击 提交 时 事件被 jquery 捕获并且效果很好 当我对表单进行另一次更改而不刷新时 jquer
  • 有没有办法对所有按钮 touchUpInside 方法断点?

    有时 当您的项目包含非常不受托管的代码时 就会发生这种情况 因此您无法弄清楚如何解决一个简单的问题 在大多数情况下 调试器可以帮助我们到达根源 我只是想知道 xcode 调试器有多强大 当我使用像 OllyDbg 这样的 asm 调试器时