如何根据对象字符串属性在 Xcode 中设置条件断点?

2023-12-21

我希望能够让调试器在达到特定字符串匹配时中断。举个例子,我可能有这样的事情:

Foo myObj = [self gimmeObj];

myObj可能有一个名为name。我希望调试器在分配时停止

[myObj.name isEqualToString:@"Bar"];

如何在 Xcode 中设置条件断点来做到这一点?


您可以在 Xcode 中通过正常设置断点来设置条件断点,然后按住 Control 键单击它并选择“编辑断点”(选择“运行”->“显示”->“断点”)。

在断点条目中,有一个条件列。

现在,对于这种情况有几个问题需要记住。首先,gdb 不理解点语法,因此必须使用 [myObj name](除非 name 是 ivar)而不是 myObj.name。

接下来,与 gdb 中的大多数表达式一样,您必须告诉它返回结果的类型,即“BOOL”。所以设置一个条件,例如:

(BOOL)[[myObj name] isEqualToString:@"Bar"]

通常,通过临时添加代码来在代码中执行此操作实际上更容易,例如:

if ( [myObj.name isEqualToString:@"Bar"] ) {
    NSLog( @"here" );
}

然后在 NSLog 上设置断点。那么你的条件可以任意复杂,而不必担心 gdb 可以解析什么和不能解析什么。

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

如何根据对象字符串属性在 Xcode 中设置条件断点? 的相关文章

  • NSMutableArray 实例变量内存管理

    我正在做最后一点内存管理整理 但有些东西我不明白 我已经检查了所有文档 Stack Overflow 等 但仍然不明白 我怀疑这与数组有关 我有一个NSMutableArray作为实例变量 我用它来保存从另一个数组中的对象创建的对象 vie
  • 在调用堆栈中看到大量 clr!CLR Semaphore::Wait

    我们看到很多像下面这样的调用堆栈 我可以知道什么条件 情况会发生这种情况吗 OS Thread Id 0x48654 559 Current frame ntdll NtWaitForSingleObject 0xa Child SP Re
  • 故事板 - 不支持的配置 8 个冲突的约束

    我正在使用故事板自动布局 我今天在编写警告消息时注意到 MainStoryboard iphone storyboard Unsupported Configuration 8 conflicting constraints 单击警告会进入
  • 将第 3 方库 ZXing 导入 Xcode

    我尝试了多种方法将第 3 方库 ZXing 导入我的 iOS 应用程序 但所有方法都很痛苦 或者根本不起作用 如果有人可以建议我做错了什么 或者提出导入 ZXing 等库的更好方法 我将非常感激 一定比这个容易 这就是我所做的 结果是 My
  • 自定义字体显示在 IB 中,但不显示在模拟器中

    我已经设置了一个UITextView and a UILabel使用自定义字体 它是垂直镜像的蒙古文字体 但我还添加了英文文本 以便您可以看到效果 这些文字显示在 Interface Builder 中 但在模拟器中大部分字符都在UITex
  • 如何从项目中删除 CocoaPods?

    从项目中删除 CocoaPods 的正确方法是什么 我想删除整个 CocoaPod 由于我的客户施加的一些限制 我无法使用它 我只需要一个 xcodeproj 而不是 xcworkspace 可以从项目中删除 CocoaPods 但目前 C
  • Crashlytics dSYM 错误

    我已经在我的 mac 上安装了 crashlytics 并想用它来设置我的项目 xcode 我通过复制代码创建运行脚本构建阶段 第一次构建的结果是 PhaseScriptExecution Run Script Users danielbo
  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • 如何记录 sqlalchemy 中返回的 SQL 语句和行以帮助调试?

    我该如何配置sqlalchemy记录它向数据库服务器发出的 SQL 语句 并记录从这些语句返回的行 这对于调试很有用 选项 1 设置sqlalchemy engine记录器日志级别为logging INFO or logging DEBUG
  • 模块未使用库演化支持进行编译;使用它意味着无法保证二进制兼容性

    最近我遇到了 SDK 的编译时警告 这是否意味着它不是使用目标设置 构建用于分发的库 构建的 你需要设置Build Libraries for Distribution在项目中Build Settings to No然后它就会消失
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 在 OS X 上创建和使用静态库

    好的 我正在尝试创建一个 Cocoa 库 静态 并使用 但我不断收到错误 我创建了一个超基本的静态库 TSXLib 其中仅包含一个额外的类 import
  • 如何等待远程 .NET 调试器连接

    今天我遇到了一个问题 我需要远程调试程序 该程序是从另一个系统启动的 所以我真的没有机会在命令行上与它交互 不过我可以很容易地改变它的来源 我需要做的是让程序正常启动 然后等待我用调试器附加到它 我想不出一个让我快乐的方法 我确实发现了这个
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • 升级到 Xcode 4.3.1 后,自动设备配置选项消失了?

    自从升级到 Xcode 4 3 1 以来 这是我第一次发布版本 在查看我的配置文件是否是最新的时 我还注意到不再显示自动更新设备配置 即 它应该出现在该屏幕截图中的位置对我来说没有出现 如何将新设备添加到团队配置文件中 https stac
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • 什么是 WKWebView 中的 WKErrorDomain 错误 4

    fatal error LPWebView encounters an error Error Domain WKErrorDomain Code 4 A JavaScript exception occurred UserInfo 0x7

随机推荐

  • cadvisor 错误报告容器内存使用情况

    cAdvisor 报告 Prometheus 使用的内存为 14GB 而 top 报告为 6 xGB 有人可以解释为什么会出现这种差异吗 container memory usage bytes 的文档说 Current memory us
  • 请求和响应处理之间的 HTTP 断开/超时

    假设以下场景 客户端正在向服务器发送 HTTP POST 请求有效并且 已被服务器处理 数据已插入数据库 Web 应用程序正在响应客户端 客户端超时 并且看不到 HTTP 响应 在这种情况下 我们会遇到以下情况 客户不知道他的数据是否有效以
  • 检测不支持的浏览器版本并显示特定的 div 和消息

    我的网站中有一个聊天机器人 它需要最新版本的浏览器才能完美工作 因此我需要向用户显示一条消息 请将您的浏览器更新到最新版本 我不想使用第三方插件 如果用户使用此 js 代码使用不受支持的浏览器版本 我如何显示 div Html div di
  • 如何将对象传递给属性构造函数

    我试图将对象传递到 Attributes 构造函数中 如下所示 PropertyValidation new NullOrEmptyValidatorScheme public string Name get private set 使用此
  • 通过java processBuilder运行cmd命令

    我正在尝试使用 ProcessBuilder 来运行命令语句 ProcessBuilder pb new ProcessBuilder cmd exe C start Process p pb start 但是 我只能打开cmd exe I
  • 2.7 CSV模块想要unicode,但不想要unicode

    csvfile open finishedFileName num csv w newline writ csv writer csvfile dialect excel firstline unicode str firstline tr
  • XCode 构建阶段:在后台运行脚本(不阻止构建)

    当我在模拟器中构建和运行 iOS 应用程序时 我希望能够在后台运行脚本 即不阻止构建过程 我试过了osascript path to script 并且还后台运行了一个单独的 shell 脚本 该脚本执行相同的操作 但两者都不起作用 构建停
  • 将公共代码添加为 git 子模块时出现问题:“索引中已存在”

    我想添加一些 git 子模块 我收到了两个共享一些通用代码的项目 共享代码只是复制到两个项目中 我为通用代码创建了一个单独的 git 存储库 并将其从项目中删除 并计划将其添加为git子模块 我使用 git submodule add 的路
  • 如何检查 preg_match() 是否为 False 而不是 True?

    我有这段代码 可确保用户名只是字母和数字 但是我的代码设置方式 我需要它来检查结果是否预匹配 https www php net manual en function preg match php is false 现在它说 如果安全则回显
  • 在组件安装过程中调试包

    我需要在 Embarcadero RAD Studio XE5 中构建为 BCB6 Borland C Builder 6 制作的旧组件 项目是 CPP 项目 组件代码包含在 PAS 文件中 该项目包含6个包 一个设计时间三个包 三个包运行
  • from Gui import * 在 python 3 中?

    我正在尝试这个 import os sys from Gui import import Image as PIL import ImageTk class ImageBrowser Gui def init self Gui init s
  • 通过PowerShell + WinRM传递双引号

    我正在用这个code https stackoverflow com a 13284313 1118239在服务器上执行远程代码 MSI 安装 通过脚本传递双引号是行不通的 我尝试了下面给出的两种变体 3 和 4 以及输出 输入 1 测试命
  • Rails 4 has_secure_password 呈现密码确认可选

    我使用 Rails 4有安全密码在我的用户模型中 技巧说如果我不设置 password confirmation 它永远不会被触发 但为什么当我运行测试时我会收到错误 密码确认不能为空如下 Failures 1 User Failure E
  • 在 Linq to SQL 中连接两个表

    也许是一个非常简单的问题 但我是 Linq to SQL 的新手 我有两张桌子 User UserId name Password Email USER TABLE Id UserId FirstName LastName 我想要一个查询
  • BufferGeometry 偏移量和索引

    我只是想知道 偏移量 和 索引 索引 到底是什么 偏移量例如中提到的https github com mrdoob Three js blob dev src core BufferGeometry js https github com
  • Python 中的桑基图

    有没有一个Python库可以生成桑基图 http en wikipedia org wiki Sankey diagram 我见过这个桑基图应用程序和库列表 http www sankey diagrams com sankey diagr
  • 从一维张量中提取前 k 个值索引

    给定 Torch 中的一维张量 torch Tensor 包含可以比较的值 比如浮点 我们如何提取顶部的索引k该张量中的值 除了暴力方法之外 我还在寻找 Torch lua 提供的一些 API 调用 它可以有效地执行此任务 截至拉取请求 4
  • 如何用动画从 UITableView 中删除行?

    我在从表视图中删除行时遇到问题 当按下行中的删除按钮时 我使用下面的代码 NSIndexPath indexPath NSIndexPath indexPathForRow control tag 100 inSection 0 resul
  • realm-js - 将本地领域数据复制到同步领域

    我在用realm js使用 React Native 在用户的设备上存储数据 并且工作流程中的某个点我想将本地领域中的所有数据复制到同步领域 以保留在 ROS 上 我遇到了一个问题 在我们的模式中 我们通过将引用一个对象的属性添加到另一个对
  • 如何根据对象字符串属性在 Xcode 中设置条件断点?

    我希望能够让调试器在达到特定字符串匹配时中断 举个例子 我可能有这样的事情 Foo myObj self gimmeObj myObj可能有一个名为name 我希望调试器在分配时停止 myObj name isEqualToString B