如何在 Xcode 中启用 Clang Address Sanitizer?

2023-12-02

正如 WWDC 2015 上宣布的那样,Clang Address Sanitizer 将被引入 Xcode 和 OS X。

课程 413:高级调试和地址清理器

如何为 Xcode 项目启用 Clang Address Sanitizer?


Address Sanitizer 已作为 Xcode 7 中的新功能添加。

Use the Runtime Sanitization > Enable Address Sanitizer在您的方案中标记以启用该选项。

然后 git 会将这个更改显示给你.xcscheme file:

enableAddressSanitizer = "YES"

来自Xcode 7 中的新功能文档:

地址消毒剂。 Xcode 7 可以使用旨在使用地址清理程序捕获和调试内存损坏的工具来构建您的应用程序。

Objective-C 和 C 代码容易受到内存损坏问题的影响,例如堆栈和堆缓冲区溢出以及释放后使用问题。当发生这些内存违规时,您的应用程序可能会意外崩溃或显示奇怪的行为。内存损坏问题很难追踪,因为崩溃和奇怪的行为通常很难重现,而且原因可能与问题的根源相去甚远。

Enable Address Sanitizer

您可以在构建方案中启用地址清理程序。启用后,添加的检测将内置到应用程序中,以立即捕获内存违规,使您能够在问题发生的地方检查问题。还提供其他诊断信息,例如错误地址与堆上有效对象之间的关系以及分配/释放信息,这可以帮助您快速查明并修复问题。

地址清理器非常高效,速度足够快,可以定期使用,也可以与交互式应用程序一起使用。它在 OS X、模拟器和 iOS 设备上受支持。

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

如何在 Xcode 中启用 Clang Address Sanitizer? 的相关文章

  • 升级到 Mac OS X 10.9 / Xcode 5.0.1 后出现 C++ 链接错误

    升级到 Mac OS X 10 9 Xcode 5 0 1 后 创建共享库 dylib 的命令行失败 并出现多个未定义的符号 clang dynamiclib install name test dylib o o test dylib U
  • Xcode 服务器模拟器等待 120 秒超时

    我正在努力启动并运行 Xcode Server 以进行持续集成 我在我的开发机器上运行 Xcode 6 3 2 并在装有最新版本 Yosemite 的 iMac 上运行 OS X Server 4 1 我为我的项目创建了一个机器人 但每次运
  • 如何迁移到新的 SwiftUI 应用协议?

    我正在开发一个 SwiftUI 应用程序 该应用程序仍然具有场景 应用程序委托文件 并希望将其迁移到新的 SwiftUI 应用程序协议 这只是删除场景 应用程序委托文件 然后将我的 ContentView 在我的例子中为初始视图 添加到 m
  • 在 iPhone 5s 或 64 位模拟器上测试 32 位 iOS 应用程序

    我有一个使用第三方库的应用程序 64 位版本的库存在错误 因此我不得不恢复到 32 位版本的框架 我想在 5s 上测试这个版本 但从 XCode 中 它将尝试在 64 位中构建 并且由于这个 32 位框架 构建将失败 我需要发布一个版本 但
  • Xcode:UIPickerView 更改单个行背景颜色

    我有一个包含 3 个组件 或列 的 UIPickerView 每列都有不同数量的行或项目 我需要能够设置每一行的背景颜色 我做了一些挖掘 发现了一些几乎可以工作的东西 但不完全是我需要的 UIView pickerView UIPicker
  • Main.1 输出文件在 XCode 中有何作用?

    我制作了一个名为 Stack 的示例项目 但意识到我需要更多的数据结构 因此我重命名了所有内容 该项目 在 XCode 中创建了 2 个新文件夹及其匹配组 修改了目标构建路径以查找 Main DataStructures Prefix pc
  • Xcode 上传错误:无法打开 ssh 会话。 (16)

    NOTE 我们最终上传了该应用程序 但我们并没有真正解决这个问题 所以如果有人可以分享一些与这个问题有关的宝贵见解或经验 我将不胜感激 遇到同样的问题后 我已经能够解决这个问题 要解决这个问题 您需要 转至第 6 页 系统和网络要求 htt
  • iphone MPMoviePlayerViewController CGContext 错误

    我正在为 iPhone 编写一个应用程序 可以使用它来播放一些电影MPMoviePlayerViewController 到目前为止 我已经让它可以播放电影了 但是它在调试器中抛出了一些错误 这些错误都以CGContext 我绞尽脑汁试图修
  • 该捆绑包无效 - 您的存档包含不允许的路径:(“AppThinning.plist”)

    我们用 Xcode 9 制作了一个存档 我们使用 Xcode 9 导出此存档 我们使用 Application Loader 成功将应用程序上传到 iTunes Connect 然而 不久之后 我们收到了这样的消息 该捆绑包无效 您的存档包
  • XCode 4.2 停止界面生成器自动缩放

    每当我更改所选控件时 有什么方法可以阻止 XCode 4 中的 IB 缩放以尝试填充屏幕 尝试在 1440x900 笔记本电脑屏幕上开发 iPad 故事板让我抓狂 这使得在屏幕上放置大块几乎是不可能的 有谁知道一些隐藏的偏好迫使 XCode
  • 构建 iOS 项目失败。我们运行了“xcodebuild”命令,但它退出并显示错误代码 65

    我是反应原生开发的新手 我正在使用配备 M1 芯片的新款 MacBook Air M1 2020 我已经安装了以下依赖项 Node v14 15 3 Npm 6 14 9 Homebrew 2 7 0 react native cli 2
  • 在Xcode7中播放音频

    我只是想在点击按钮时播放音频 但是这行代码出现错误 ButtonAudioPlayer AVAudioPlayer contentsOfURL ButtonAudioURL error nil 这是我的整个代码 import UIKit i
  • llvm clang 编译器上的dynamic_cast失败

    我看到一个奇怪的失败dynamic cast正在返回NULL在 clang 编译器上 但相同的代码可以在 gcc 环境下运行 您能否指出根本原因是什么 之间可能有什么区别dynamic cast关于 llvm 和 gcc 我正在使用两个编译
  • 由于无法确认开发者身份而无法打开

    我在 Mac OSX 中开发了一个应用程序和守护进程 并且我已经在 xcode 中与开发者 ID 签署了应用程序和守护进程源代码 在守护进程中 我已经对每个框架进行了签名并打包 并且我使用软件包安装程序对所有框架进行了 pkg 现在我的应用
  • 为 iPhone 创建 .ipa

    我为 iPhone 开发了一款应用程序 构建后 我在构建文件夹中得到了 app 文件 我的应用程序名称是Myapp 然后我在build文件夹中得到了Myapp app文件 我的问题是我想创建 ipa 文件 这是怎么回事 它是为了安装 越狱的
  • 错误:模块是为不兼容的目标arm64-apple-ios8.0创建的

    有一个名为 Appetize 的网站 需要 app 捆绑包 应用程序的 iOS 模拟器版本 才能在在线模拟器中显示您的应用程序 以下是所需应用程序包的指南 https support appetize io help how to uplo
  • 让约束在尺寸类别中发挥作用

    所以 我正在 Xcode 6 beta 中尝试尺寸类 我对图像设置了一些限制 使其根据 iPhone 纵向和横向对应的尺寸类别处于不同的位置 这些限制在下图中可见 正如您所看到的 当我处于紧凑 紧凑状态时 一些约束被 安装 而其他约束则没有
  • 相机叠加图片

    edit 3 好消息和坏消息 好消息是 在连接检查器中 通过断开覆盖 UIToolbar 并连接 UIImageview 我看到theKing 但是 坏消息 我没有看到我也需要的 UIToolbar 所以现在的问题是 当用户完成这里操作后
  • Xcode 本地化设置中没有加号或减号按钮

    我需要在两天内翻译 iOS 应用程序 但我的 XCode 版本 4 4 和 4 5 Developer Preview 都没有给我添加其他语言的选项 我只能选择单击 Make localized 但我只能选择英语 选择它后 Xcode 中的
  • Swift 3 和 Xcode8 - init 的使用不明确

    在我安装 Xcode 8 并将项目转换为 Swift 3 之前 以下行没问题 现在转换后看起来像这样 let valueData Data Data bytes UnsafePointer

随机推荐

  • 有没有办法在Python中引用当前函数?

    我想要一个函数来引用它自己 例如是递归的 所以我做了类似的事情 def fib n return n if n lt 1 else fib n 1 fib n 2 大多数时候这都很好 但是fib实际上并不指代其自身 它指的是绑定fib在封闭
  • 将 System.Drawing.Bitmap 缩放到给定大小,同时保持纵横比

    我想扩展一个System Drawing Bitmap至少小于某个固定的宽度和高度 这是为了在网站上生成图片库的缩略图 所以我想保持纵横比相同 我有一些解决方案 但似乎没有一个真正能满足我的需要 它们围绕基于保持宽度或高度相同但不改变两者的
  • 模拟按键 C#

    I want to simulate F5 key press in my C program When IE is open I want to be able refresh my website automatically 我怎样才能
  • Java 中的动态泛型类型

    如果我有一个使用泛型类型的类 例如 public class Record
  • 谷歌地图 API 从 v2 升级到 v3,建议

    我在我的网络应用程序中完全集成了谷歌地图版本 2 具有获取方向 集群标记 选项卡式信息窗口 上下文菜单 右键单击 等功能 该实现的设计非常糟糕 导致了一些问题 所以现在我需要修改核心实现以更好的设计 我正在考虑升级到 google 地图 A
  • 不区分大小写的列表搜索

    我有一个清单testList包含一堆字符串 我想添加一个新字符串到testList仅当列表中尚不存在时 因此 我需要对列表进行不区分大小写的搜索并使其高效 我不能使用Contains因为这没有考虑外壳 我也不想用ToUpper ToLowe
  • Symfony2 表单中的数据对象与需要填写的内容不完全匹配

    我们有监控服务 我们的监控单元可以监视某些机器 我正在创建一个表单来在 Symfony2 中注册一台新机器 所以我们有机器实体 id 机器名称 显示器编号 And the 监控实体 id 序列号 对于新机器 客户需要填写form with
  • Internet Explorer 显然不支持 MouseEvent movingX 属性

    我正在开发一个需要兼容 IE 9 及以上版本的应用程序 我在 MouseEvent 对象上使用 movingX 属性 但是该 MouseEvent 对象在 Internet Explorer 9 或 11 中没有 movingX 属性 我浏
  • 如何使用php在mysql中生成下一个自动递增编号?

    我试图使用 php 获取 mysql 中的下一个自动递增数字 我尝试了这样的方法 但是 当删除任何行时 这不起作用 我希望你明白我的意思 我怎样才能使用 php 来做到这一点 您无法执行此操作来获取表数据 您必须使用 php 获取表状态才能
  • 为什么Python 2.7的namedtuple实现__dict__?

    The namedtuplePython 2 7 中的实现实现 dict 我很困惑这是在做什么 为什么我们需要做一个特别的 dict 如果已经定义了属性 C tmp gt python Python 2 7 12 Anaconda 4 1
  • 从 Python 数据中学习二元决策图 (BDD)

    是否可以从数据中学习二元决策图 BDD 以机器学习的方式 如果是这样 怎么办 背景 我在 Python 中看到过一些工具可以完成此任务 例如决策树 DT scikit学习 但我还没有看到任何 BDD 举个例子 我想做的事情如下 前三列对应于
  • 在 SQL Server 中读取并递增 int 值

    我需要使用 C 在 SQL Server 2008 中自动读取并递增一个值 例如 我必须插入 批次 的项目 为此我需要最后一批的编号 并确保没有其他人获得该编号 因此 我有一张仅包含最后批号的表格 并找到一种只需一步即可获取和更新编号的方法
  • 使用ClassLoader方法检索类下的所有资源作为输入流

    我的问题是一个你可能认为很常见的问题 但到目前为止我还没有找到解决方案 在 Tomcat 5 5 下构建 Java Web 应用程序 尽管要求它可以部署在任何地方 例如在 WebLogic 环境下 因此需要将资源作为流加载 良好的实践表明资
  • 为什么 System.Transactions TransactionScope 默认隔离级别可序列化

    我只是想知道什么是好的使用可序列化的原因作为创建时的默认隔离级别系统 交易 交易范围 因为我想不出任何 而且似乎你无法通过更改默认值web app config所以你总是必须在你的代码中设置它 using var transaction T
  • WCF,从服务访问 Windows 窗体控件

    我有一个托管在 Windows 窗体内的 WCF 服务 如何从我的服务中的方法访问表单的控件 例如我有 public interface IService ServiceContract string PrintMessage string
  • Gwt 插件在 Chrome 42 中不起作用 [重复]

    这个问题在这里已经有答案了 新版chrome 42 不支持gwt插件在 Windows 8 1 上 即使我将兼容模式更改为 Windows 7 我仍然会收到再次下载插件的提示 我已尝试删除它并重新安装 但仍然收到此消息 有任何想法吗 来自
  • 这段Python代码能更高效吗?

    我编写了一些代码来查找字符串中有多少个子串是字谜对 要查找的函数anagram anagramSolution 复杂度为 O N substring函数的复杂度小于N平方 但是 这里的代码是有问题的 能不能再优化一点 for i in ra
  • 填充颜​​色动画在动画中调用块时闪烁确实停止了

    我无法弄清楚为什么动画块完成后动画从 fromValue 闪烁到 toValue 我知道 完成动画后 您必须将 CALayer 的值设置为动画的结束状态 以保持其外观一致 然而 无论我以什么顺序调用这些方法 我都会得到闪烁的结果 我正在做的
  • Android,如何为视图组设置动画监听器?

    我有一个充当菜单的图像视图 当用户单击它时 视图组 包括其他 5 个图像视图 将从左向右滑动 当用户再次单击菜单时 查看组幻灯片从右到左 我可以模拟这种行为 但从右向左滑动后 我希望看不到视图组 但视图组将放在其位置上 我尝试使用Linea
  • 如何在 Xcode 中启用 Clang Address Sanitizer?

    正如 WWDC 2015 上宣布的那样 Clang Address Sanitizer 将被引入 Xcode 和 OS X 课程 413 高级调试和地址清理器 如何为 Xcode 项目启用 Clang Address Sanitizer A