查找二进制中类符号的来源

2024-02-06

我有一个有趣的问题。我收到的崩溃日志引用了我的应用程序中名为 NRURLProtocol 的类(特别是在文件 NRURLProtocol.m 中),根据崩溃日志,该日志存在于我的应用程序中,而不是存在于 iOS 框架中。但是,我的项目中没有 NRURLProtocol 类,也没有任何 NRURLProtocol.m 文件。通过 Google 或 StackOverflow 进行在线搜索,实际上发现 0 个对此类的引用。

如果我在我的二进制文件上运行以下命令:

otool -o binary | grep NR

我发现各种带有 NR 前缀的类,包括 NRURLProtocol。但是,当我使用相同的otool对我的二进制文件链接的所有静态库执行命令,我什么也没找到。我在我的驱动器上找不到名为 NRURLProtocol.m 的文件。

我对如何追踪这一点感到有点茫然。这个类不仅存在于我的二进制文件中,而且还被某些东西作为 URL 协议加载。所以看起来我正在使用的一些第三方库包含它,尽管otool什么也没找到。

以下是我的二进制文件中出现的带有 NR 前缀的类的完整列表:

NRASIRequestTracker
NRASISupport
NRErrorData
NRLogger
NRNonARCMethods
NRSecureUDID
NRStats
NRStatsEngine
NRSupportability
NRTransactionData
NRURLProtocol
NRNSURLSupport

以下是我链接到的所有 3rd 方静态库:

Facebook SDK
HockeyApp SDK
ZipKit
Mixberry SDK (though not actually using it anywhere, currently disabled)
Flurry SDK
Google AdMob SDK
HelpShift SDK
UrbanAirship SDK
libBass (audio library, doesn't contain Objective-C code)
EX2Kit (my own toolkit library, which doesn't contain this code)

有谁知道这些类来自哪里,或者我可以尝试哪些其他命令?


找到了!不知怎的,我错过了我们也使用 NewRelic 的 SDK 的事实。考虑到 NR 前缀,这应该是显而易见的。otool很快就表明有问题的类就在那里。

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

查找二进制中类符号的来源 的相关文章

  • 自定义 UIPopoverController 视图背景和边框颜色

    是否可以更改弹出视图的边框颜色 导航栏样式 颜色和箭头样式 颜色 如果是这样 怎么办 如果有一些示例代码可用 那就太好了 iOS 7以上 可以更改backgroundColor of UIPopoverController这会影响导航背景颜
  • 重新定位时 Mapbox 默认的 compassView 会给出奇怪的结果

    我遇到一种情况 必须将地图框罗盘视图重新定位到不同的位置 当我以其他点作为其 compassView 轴旋转地图时 compassView 现在正在旋转 并给了我一个奇怪的结果 附截图 黑色mapBox默认罗盘图标是旋转的 参考截图 这是
  • 切换到 Xcode 7 后,应用程序大小从 9 MB 增长到 60 MB,有解决办法吗?

    我一直在回顾 Git 历史来寻找文件大小发生巨大变化的原因 但我能找到的唯一真正原因是从 Xcode 6 切换到 Xcode 7 GM 我发现这些是文件大小贡献最大的 10 个 ipa创建自Archive操作在一个Release构建配置 u
  • 数组索引超出范围的表视图

    我正在使用数组从数据库读取数据 目前数组中有 8 个项目 我正在尝试制作一个有节标题的表格 目前我有 4 个部分 并且我已正确设置并且它有效 它也可以在第一次运行时运行 但是当我尝试向后滚动时 我发现索引超出了范围 我正在使用 myarra
  • 使用 CLPlacemark、administrativeArea、iOS6/iOS7 更改内容

    我计划为 ios 7 制作一个应用程序 并且有管理区域地标属性的问题 对于 iOS6 我得到行政区域的全名 例如 加利福尼亚 但对于 iOS7 我得到 CA 的值 当情况如此变化时 这是一个问题 有什么方法可以控制这个输入 使其更加一致吗
  • 了解 malloc_history 转储

    如果您曾经问 过如何调试 Objective C 中的释放 分配问题 您将遇到这些可以帮助跟踪问题的环境设置 NSZombieEnabled 释放后保留对象 以便您可以获得指针等 MallocStackLogging 保留对象历史记录以供以
  • Angular/ HTML5 到 iOS WKWebView 通信

    我们正在尝试看看发送信号的最佳选择是什么To iOS WKWebView fromAngular 6 HTML5 项目 任何示例都会很棒 我们想要做的是 我们在 Angular 网页上有一个按钮 单击该按钮应该通知 iOS 执行某些操作 我
  • 我什么时候应该使用 CGM 设备组和主题?

    我正在考虑将 Google Cloud Messaging 合并到我的应用程序中 我想向与用户关联的所有设备发送消息 乍一看 它看起来像 GCM 的设备群组消息传递 https developers google com cloud mes
  • 无法将 (Timer!) -> Void 转换为 ((CFRunLoopTimer?) -> Void)! - 将 NSTimer 扩展转换为 Swift 3

    我正在尝试将我在项目中使用的 Pod 转换为 Swift 3 它不是我编写的 但原作者尚未更新它 所以我将它分叉为我自己尝试的任何内容 但 我在尝试将扩展名转换为NSTimer到斯威夫特 3 Cannot convert value of
  • iOS 9.3 出现新的 UIPDFPageRenderOperation 错误?

    我正在向 UIWebView 添加一些 PDF 链接 每次加载并做出滚动手势时 都会收到此错误 objc 910 UIPDFPageRenderOperation 对象 0x14acaca10 过度释放 当已经解除分配时 打断 objc o
  • 为什么使用 UIImageJPEGRepresentation 方法通过 writetofile 保存的 .jpeg 文件大小比 ios 中的 UIImageWriteToSavedPhotosAlbum 大

    我正在尝试拯救一个UIImage设备中 jpeg 文件的对象 我正在使用这段代码 void saveImageToDocumentsDirectory UIImage mimage withFileName NSString fileNam
  • Xcode 和 Waze 集成

    我正在尝试整合我的app with waze http www waze com 有人知道如何调用位智并发送坐标吗 我没有找到任何 API 或其他相关信息 void navigateToLatitude double latitude lo
  • 快速从 appDelegate 中 popToRootViewController

    我试图从应用程序委托弹出到导航堆栈的根视图控制器 并且在将 obj c 中的内容转换为 swift 时遇到一些问题 obj c 中的工作原理 UINavigationController navigationController UINav
  • iphone:使用 iOS 5 和 Xcode 4.2 提交应用程序? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个在
  • UIView 子类中使用的 CAShapeLayer 不起作用

    我尝试了几个小时 用 CAShapeLayer 在 UIView 周围获得虚线边框 但我没有显示它 ScaleOverlay h import
  • 从现在起测量时间间隔

    任何人都知道或可以提供一些与 timeIntervalSinceNow 方法相关的示例代码 我需要类似的东西 time2 当应用程序进入前台时 time1 当应用程序进入后台时 time3 时间差 这样我就可以使用这个数字 以秒为单位的首选
  • Base64Transcoder.m 重复符号

    我想使用 SKPSMTPMessage 库 唯一的问题是这个库包含文件 Base64Transcoder m 由于我有 Dropbox SDK 该文件会出现重复错误 我该如何解决这个错误 我不能直接删除 Base64Transcoder m
  • 播放声音无延迟 iOS

    我找不到如何以低延迟播放真实声音的方法 我尝试使用 AVFoundation 音频播放器 巨大的延迟大约 500 毫秒 所以我尝试创建系统声音 如果运气不好 延迟大约为 200 毫秒 虽然不多 但对我来说没有用 我最多需要 50 毫秒 确保
  • iOS swift 应用程序启动时出现黑屏

    我有个问题 当我启动我的应用程序时 会看到黑屏几秒钟 然后出现启动屏幕 我的启动画面不是默认的 我使用了视图控制器 因为我的启动画面有一个动画 我搜索了一个解决方案 我得到了这个 在我的闪屏加载 iPhone 之前出现黑屏 https st
  • Expo eas-cli iOS 构建失败

    我已经使用 React Native 创建了一个应用程序 并尝试通过 Expo 的 eas cli 创建一个 iOS 应用程序商店 跑步时eas build platform ios the Fastlane build failed wi

随机推荐

  • 使用canvas和javascript读取图像的像素颜色

    我想知道是否可以使用画布和 javascript 扫描图像中的某些像素颜色并使用它们来制作地图 例如 寻找 ff0000并将其设置为地图上的数字1并设置 000000到 2 等等 制作如下地图 var map 1 1 1 1 1 1 0 0
  • Laravel Excel 上传和进度条

    我有一个网站 可以上传 xlsx文件 其中包含我的数据库的一些信息行 我阅读了 laravel excel 的文档 但看起来它只适用于进度条 如果您使用控制台方法 我不这么认为 我目前只使用纯 HTML 上传表单 还没有使用 ajax 但要
  • 我在哪里可以获得 admob jar?

    我确信这是一个愚蠢的问题 但我在任何地方都找不到链接 他们的 wiki 只是说 将 AdMob Jar 文件复制到该 libs 目录中 但不知道从哪里得到它 有一种更简单的方法来获取 AdMob SDK 只需从 Google AdMob 广
  • AngularJS - $emit/$on 或范围继承哪个更好?

    假设我得到了以下 HTML 结构
  • 如何在 html 上设置processingJS?

    如何在 html 页面上运行处理 JS 脚本 有人可以给我发送一个测试 html 和一个辅助代码文件以供我了解吗 假设我想运行这个矩形 rect 50 50 50 50 要添加到 Kevin 的答案中 如果您想使用带有 javascript
  • Maven发布更新政策

    我看到releases setting http maven apache org ref 3 2 2 maven settings settings html class releases在maven设置中有一个updatePolicy
  • 语义 UI - 更改主题

    我无法在语义 UI 中选择主题 我尝试按照中提供的说明进行操作工作流程部分 http learnsemantic com guide expert html manual install文档的 文件位于examples 项目的文件夹对于测试
  • QML - 当我不接受鼠标按下事件时无法获取鼠标释放事件

    我想将 onPressed 事件分派给 QML 树中的后续对象 我已指示 mouse accepted false 和propagateCompositedEvents true 但我希望保持 onreleased 事件在顶级元素上工作 这
  • 在 Sass 中乘以百分比

    如何在 Sass 中以合理的方式将两个百分比相乘 例如 考虑以下声明 num1 50 num2 25 num3 num2 num1 Here num3休息 我可以写什么表达方式num3定义为12 5 弄清楚了 首先 您需要将其中一个百分比转
  • 使用API​​将数据插入sqlite3数据库

    我正在尝试将 Web API 中的数据插入到我的数据库中 我在 python 3 7 2 上使用 sqlite3 但找不到任何有关如何执行此操作的教程 到目前为止我所有的代码是 import requests sqlite3 databas
  • 设置 JavaScript 变量 = null,还是保留未定义?

    在 JavaScript 函数顶部声明变量时 最佳实践是将它们设置为 null 还是保留为 未定义 换句话说 什么情况下需要下面的每个选项 选项A var a null b null 选项B var a b 这取决于上下文 未定义 表示该值
  • htaccess / mod_expires - 缓存特定文件

    好吧 我检查了很多关于如何使用管理浏览器缓存的网站 htaccess文件 但我仍然不清楚 我想将特定文件缓存一个月 对于其余的 我希望它每次都能刷新 所以我尝试
  • Hibernate - 使用 all-delete-orphan 清除集合然后添加到它会导致 ConstraintViolationException

    我有这些实体 class Foo Set
  • 使用用户定义的注释生成编译器警告

    是否可以让编译器在遇到用户定义的注释时生成警告 类似的东西 Deprecated注解 Thanks 根据您最初的问题和评论 我假设您正在尝试执行以下操作 将代码标记为不完整 带有编译器警告 以便其他开发人员尚未使用它 稍后识别 IDE 中不
  • 在 python 端在 kivy 中分配 ids

    我正在使用猕猴桃 我想做的是拥有 想法 一个滑块和一个标签 其中包含网格布局中一行中滑块的当前值 现在获取布局很好 但让标签具有与滑块当前值相同的文本值是很棘手的 我尝试使用字符串连接来引用与其配对的滑块具有相同数字后缀的标签 我认为我遇到
  • 跨度文本填充增加跨度大小

    我有以下跨度 span style border solid width 100px hello world span 在我看来 跨度的总宽度是根据填充大小而增加的 有没有办法防止跨度大小增加并将文本填充到右侧 不知道你的 padding
  • Linux 中的缓冲区和高速缓冲存储器有什么区别?

    对我来说 不清楚这两个 Linux 内存概念之间有什么区别 buffer and cache 我已读完这个帖子 https stackoverflow com questions 3192579 buffer and cache diffe
  • 在Python中将数组的数组转换为json[重复]

    这个问题在这里已经有答案了 我有一个数组数组 它 是从数据库查询中获取的SQL炼金术我想做两件事 我想获取列的名称 或类似的名称 从表中选择全名 AS 姓名 我想将最终产品转换为 json 对象数组 以便我可以在前端使用它 我已经搜索了几个
  • 将 .net 方法公开为 Excel 函数?

    我有一组计算方法位于 Net DLL 中 我想让 Excel 2003 用户可以使用这些方法 以便他们可以在电子表格中使用它们 例如我的 net方法 public double CalculateSomethingReallyComplex
  • 查找二进制中类符号的来源

    我有一个有趣的问题 我收到的崩溃日志引用了我的应用程序中名为 NRURLProtocol 的类 特别是在文件 NRURLProtocol m 中 根据崩溃日志 该日志存在于我的应用程序中 而不是存在于 iOS 框架中 但是 我的项目中没有