-[NSRangeException raise] 上的符号异常断点

2024-03-16

在 Xcode 中添加符号断点为您提供了一个示例模板-[NSException raise]。我想做同样的事情但是具体来说 on -[NSRangeException raise]。原因是我想断点only关于特定数组边界异常,例如:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 31 beyond bounds [0 .. 30]'

是的,我知道我可以添加一个捕获所有异常断点。但是,我不想这样做,因为我不想在使用该应用程序过程中生成的许多异常上设置断点。

我根据其他相关帖子尝试了很多事情NSException。然而,我还没有发现任何可以成功工作的东西。

例如我尝试过:

这篇日记条目也很有趣,尽管没有结论:

处理 NSArray“越界” http://karanmisra.com/journal/2008/08/dealing-with-nsarray-out-of-bounds.html

所以,基本上,问题是,在 Xcode 中,如何专门且仅在范围异常上断点?


NSRangeException 不是一个类:

grep NSRangeException /System/Library/Frameworks/Foundation.framework/Headers/NSException.h FOUNDATION_EXPORT NSString * const NSRangeException;

事实证明,范围异常只是 NSException,其名称为 NSRangeException,即:

(lldb) b s -n objc_exception_throw
Breakpoint 2: where = libobjc.A.dylib`objc_exception_throw, address = 0x00007fff8e3c2e4a
(lldb) c
Process 58216 resuming
Process 58216 stopped
* thread #1: tid = 0x1d7f4b, function: objc_exception_throw , stop reason = breakpoint 2.1
    frame #0: 0x00007fff8e3c2e4a libobjc.A.dylib`objc_exception_throw
libobjc.A.dylib`objc_exception_throw:
-> 0x7fff8e3c2e4a:  pushq  %rbp
   0x7fff8e3c2e4b:  movq   %rsp, %rbp
   0x7fff8e3c2e4e:  pushq  %r15
   0x7fff8e3c2e50:  pushq  %r14
(lldb) bt 
* thread #1: tid = 0x1d7f4b, function: objc_exception_throw , stop reason = breakpoint 2.1
    frame #0: 0x00007fff8e3c2e4a libobjc.A.dylib`objc_exception_throw
    frame #1: 0x00007fff841ca1df CoreFoundation`-[__NSArrayI objectAtIndex:]
    frame #2: 0x0000000100000eb9 range-exception`-[Foo throwIt] at range-exception.m:14
    frame #3: 0x0000000100000f27 range-exception`main at range-exception.m:22
    frame #4: 0x00007fff8468d5fd libdyld.dylib`start
    frame #5: 0x00007fff8468d5fd libdyld.dylib`start
(lldb) expr (NSString *) [((NSException *) $arg1) name]
(NSString *) $0 = 0x00007fff74177990 @"NSRangeException"

因此,您可以在 objc_exception_throw 上设置断点,并编写一个断点条件,将名称与 NSRangeException 进行比较。就像是:

[(NSString *) [((NSException *) $arg1) name] isEqual: (NSString *) NSRangeException]

应该可以解决问题。

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

-[NSRangeException raise] 上的符号异常断点 的相关文章

  • Xcode 6 自适应故事板每个设备有不同的 Segues

    我对 Xcode 6 中新引入的自适应故事板遇到了一些麻烦 iPhone 应用程序已经完成 现在我想用它创建一个通用应用程序 假设我有一个viewcontroller显示一些单元格和详细信息viewcontroller其中显示单元格的详细信
  • UISlider 可捕捉到固定的步数(如 iOS 7 设置应用中的文本大小)

    我正在尝试创建一个UISlider让您可以从一组数字中进行选择 每个滑块位置应等距 并且滑块应卡入每个位置 而不是在它们之间平滑滑动 这是滑块的行为Settings gt General gt Text Size 这是在 iOS 7 中引入
  • iPhone 拒绝了发布请求 未说明

    iPhone 拒绝了发布请求 内部启动错误 进程启动失败 未指定 这个错误让我抓狂 我似乎无法解决它 我从发现的所有地方都做了以下操作 刷新证书 注销并进入开发者苹果帐户 下载手动证书 删除 Apple 全球证书 重新启动 Mac 和 iP
  • 生成 xcframework 库时 xcodebuild 错误“不支持具有多个平台的二进制文件”

    我正在尝试从 MyFramework framework 文件生成 xcframework 文件 我正在运行以下命令 xcodebuild create xcframework framework MyFramework framework
  • 使用 PHP / Javascript 检测应用内浏览器 (WebView)

    我开发了一个适用于 iOS 和 Android 的应用程序 它使用应用程序内浏览器 Webview 从我的网络服务器访问 HTML 文件 我不希望用户可以在不使用该应用程序的情况下访问此文件 是否有可能检测用户是否使用应用程序或直接通过此智
  • 将 ART.xcodeproj 添加到 Library 后 Xcode 崩溃

    我正在使用 React Native 开发一个应用程序 将 ART xcodeproj 添加到 Library 后 Xcode 崩溃了 这是版本信息 版本 9 0 beta 4 9M189t Some 崩溃的日志如下 Process Xco
  • SecurityApplicationGroupIdentifier 的应用程序组返回 nil

    我设置了一个应用程序组与我的 Today Extension 一起使用 我在主应用程序的目标和扩展程序的目标中添加了应用程序组 在开发人员门户的应用程序 ID 配置中 我启用了应用程序组 但由于某种原因FileManager default
  • 加速度计和校准 - iPhone SDK

    我需要在 iPhone 游戏中使用加速计的功能 我只需通过倾斜设备来移动图像即可 然而 YouTube 上的大多数视频仅显示以某种方式反转的倾斜功能 而忘记包含校准 我希望用户将他们的设备校准到他们所处的任何位置 有谁知道我应该如何开始 我
  • UICollectionView 单元格旋转后不水平

    我有一个 UICollectionView 带有一个用于创建单元格的按钮 该单元格应按创建顺序显示 在空间允许的情况下 横向和纵向 1 2 3 4 文本视图受到灵活宽度的限制以填充单元格 单元格的大小取决于设备和旋转 每行允许 1 2 3
  • 如何从 URL 流式传输音频而不在设备上下载 mp3 文件

    如何在 Swift 中从 URL 流式传输音频而不在设备上下载 mp3 文件 我需要导入什么 我需要某些库吗 添加任何内容到 info plist 中吗 请评论你的代码 您可以使用 iOS AVPLayer 从 url 传输音频 var p
  • 已加载 nib 文件但未设置视图出口

    我不小心删除了universityPicker xib 然后用相同的名称创建了一个新的 但无法连接 文件崩溃并给出此消息 reason UIViewController loadViewFromNibNamed bundle loaded
  • Eclipse 调试模式下的 GDB 找不到 stdlib/rand.c

    我试图让 gdb 在 ubuntu 上与 eclipse cdt 一起运行 以开始调试一些简单的程序 所以我做了我认为必要的步骤来让它运行 1 创建可执行项目 2 Compile 3 Run 4 创建文件 gdbinit 并将其放在主项目文
  • 在 iPhone 通讯簿中创建群组

    我正在开发一个 iPhone 应用程序 该应用程序使用将联系人添加到地址簿中 我已经能够将联系人添加到地址簿 但我面临的问题是在将联系人记录添加到我创建的组时 该联系人将在不在已创建组内的所有联系人下创建 下面是我使用过的代码 create
  • 当我打开在 Xcode 4 中创建的 Google 地图项目时,Xcode 5 会警告我的架构设置

    我刚刚更新到新发布的 Xcode 5 我正在开发一个使用 Google 地图 iOS SDK 的 iOS 应用程序 当我在 Xcode 4 中开发时 我改变了我的Architectures在我的项目设置中进行设置 按照 Google 的步骤
  • 如何使用自动布局约束在 ios xcode 6.3 中创建多个标签之间的相等间距

    如何实现多个标签的自动布局 如图所示 我也需要在所有标签和侧面空间之间保持相对相等的间距 我想在标签 1 2 3 4 之间保持相等的间距 我无法使用自动布局在多个 iPhone 版本的标签之间保持相对相等的间距 我能够使用以下步骤解决 第
  • XCTestCase:ld:未找到架构 x86_64 的符号

    我只是想实现我的第一个 XCTestCase 实现 一切都构建良好 但是当我执行测试用例时 我面临 构建失败 Undefined symbols for architecture x86 64 OBJC CLASS Node referen
  • XCode 4.2 编译器错误

    当我使用 XCode 4 2 创建新项目 例如 单视图 iOS 应用程序 时 支持文件 文件夹中的 main m 文件如下所示 import
  • Xcode:一步完成清理和构建

    在 Xcode 中 您可以从 产品 菜单执行 清理 您还可以进行构建 也可以从产品菜单中进行 但是 你能将两者结合起来吗 即是否可以一步完成 清理 然后 构建 None
  • Xcode 中定义的宏 CURRENT_PROJECT_VERSION 在哪里?

    这个帖子如何在 xcode 8 中设置 CURRENT PROJECT VERSION https stackoverflow com questions 39673280 how to set current project versio
  • iOS:启动图像多语言

    我有一个多语言应用程序 我的问题是启动图像 根据设备的语言使用启动图像的方法是什么 有什么东西在info plist file 解决方案是像项目中的任何其他资源一样本地化 Default png 从 Xcode 的项目列表中选择 Defau

随机推荐

  • 如何在 IIS 6.0 上部署 WCF 服务?

    我完全陌生WCF和部署服务 我在 IIS 6 0 上设置服务时遇到问题 我需要部署我的确切步骤WCFIIS 6 0 上的服务 注意 我创建了一个WCF服务申请 那么 在 IIS 6 0 上部署 wcf 服务需要遵循哪些具体步骤 我相信你基本
  • 当我在 gridview 中进行排序时,会触发 Gridview RowCommand 事件

    我陷入了一些不正常的问题 当我在 gridview 中进行排序时 它会触发该网格的 RowCommand 事件而不是排序事件 下面是我的网格视图的 HTML 代码
  • Date_format 转换是在边界日期上添加 1 年

    当我使用 DATE FORMAT 表示 12 月 31 日的日期时 2018 年即将更改为 2019 年 有人可以帮忙说这是一个错误还是我遗漏了一些东西 import org apache spark sql functions spark
  • Google App Engine 适用于长时间运行但 CPU 较低的任务,还是长时间轮询?

    App Engine 非常适合快速处理请求 无需对数据库或缓存或第三方资源进行外部 API 调用 但我们发现引入任何类型的 运行时间较长 的组件或外部延迟 例如在 HTTP POST 中 在后台异步运行的操作 可能需要一两秒钟来处理一些更密
  • Facebook 评论插件 Angularjs

    在我的 AngularJS 应用程序中添加 facebook 评论插件时 我遇到了一个奇怪的错误 应用程序页面的简化结构是 div div div div 带有fb评论框的页面被加载到ng view中 包含fb评论框的页面结构如下 div
  • 如何在Python中使用socket创建通道

    我之前已经启动过Python几次 现在我正在创建一个套接字服务器 我已经让服务器与多个客户端一起使用多个线程 万岁 但我正在寻找我无法调用的功能 我什至不知道它是否存在 我想创建一种客户端通道可以发送不同类型的消息 一个例子 我创建一个通道
  • 使用 MVVM 在 SwiftUI 中呈现警报

    我正在尝试使用 SwiftUI 和 MVVM 架构构建一个应用程序 我希望我的视图在其 ViewModel 认为有必要时 例如 当它从模型中获得某种新结果时 显示警报 因此 假设每当虚拟机检测到新结果时 它就会设置其status因此 视图模
  • 使用 net.tcp://0.0.0.0:0/blah 的服务主机发现 WCF 宣布 net.tcp://0.0.0.0:0/blah

    我想要一个可发现的服务 它可以侦听所有接口并为每个接口发布发现公告 我希望最终能够使用 tcp 0 0 0 0 0 blah 作为服务端点在配置文件中进行配置 但是当我运行下面的代码时 它发出的公告使用 tcp 0 0 0 0 0 blah
  • Silverlight 与 IIS 10.0 上的 RIA 服务导致 404 错误

    尝试使用 WCF RIA 服务迁移现有的正在运行的 Silverlight 应用程序IIS 6 0 to IIS 10 0 on W视窗服务器 2016但应用程序失败返回404错误s 当我在服务器上安装 Visual Studio 并尝试运
  • 自动运行多个 vim 命令和击键

    我想在 vim 中自动运行多个命令 即通过键入 repl 命令是 ConqueTerm lein repl
  • AChartEngine 的 Android 问题:在边距中设置图像

    是否可以将图像设置为背景边距 我通常使用mRenderer setMarginsColor Color argb 0x00 0x01 0x01 0x01 但我想设置一个图像 您无法在 AChartEngine 中将图像设置为背景 因为它是开
  • 使用点“.” MVC4 路由中的角色

    我目前正在提供来自数据库表的图像 这些图像都是相同的文件类型 我想要字符点 路线 但尚未取得任何成功 据我了解 ISAPI 处理程序可能会导致与此相关的问题 我只是不确定如何添加和排除以允许 ASP NET 处理此路由 routes Map
  • jQuery ajax json 响应的长度未定义且数据不正确

    我试图获取一个在服务器端转换为 json 对象的字典对象 以及正确的内容类型标头 但由于某种原因 即使我可以访问部分数据 其他部分也不会显示up 和 jquery 中的 json 对象的长度等于 0 这是我的 jquery 调用 ajax
  • 什么是 __main__.py?

    是什么 main py文件 我应该在其中放入什么样的代码 什么时候应该有一个 通常 Python 程序是通过在命令行上命名 py 文件来运行的 python my program py 您还可以创建一个充满代码的目录或 zip 文件 并包含
  • Antlr 语法生成无效的 C# 代码

    我正在尝试使用 ANTLR 和 StringTemplate 库开发一个 C 代码生成器 AntlrWorks 可以生成 C 解析器和词法分析器文件 而不会报告任何错误 但是 c 解析器代码无效 无法在 Visual Studio 中编译
  • Celery 3.0.1 中的框架错误

    我最近从 2 3 0 升级到 Celery 3 0 1 所有任务都运行良好 很遗憾 我经常收到 帧错误 异常 我还运行主管来重新启动线程 但由于这些线程从未真正被杀死 主管无法知道 celery 需要重新启动 有没有人见过这个 2012 0
  • 在 AWS Code Pipeline 中使用 docker compose 时出错

    我正在使用 AWS Code Pipeline 部署我的 dockerized Django 应用程序 但遇到了一些 Docker 错误 error Service proxy failed to build toomanyrequests
  • 如果满足特定条件,则停止沿特定深度的 boost::depth_first_search

    我在用着BGL http boost org doc libs 1 45 0 libs graph doc table of contents html来存储我的 DAG 顶点有状态 考虑到其中一个顶点的状态发生变化 我想更新依赖顶点 我可
  • 用于格式化一系列单元格并根据 Google 电子表格中的日期插入特定文本的脚本

    我有一个规划器类型的 Google 电子表格 其中每天有 8 10 个用户添加数据 当我向单元格添加日期时 我希望对该日期之后同一行中的所有单元格进行格式化并添加类似 ENDED 的文本值 目前 我正在使用条件格式和 ArrayFormul
  • -[NSRangeException raise] 上的符号异常断点

    在 Xcode 中添加符号断点为您提供了一个示例模板 NSException raise 我想做同样的事情但是具体来说 on NSRangeException raise 原因是我想断点only关于特定数组边界异常 例如 Terminati