首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xcode 11调试器在断点崩溃,找不到Foundation.h

Xcode 11是苹果公司开发的一款集成开发环境(IDE),用于开发iOS、macOS、watchOS和tvOS应用程序。调试器是Xcode中的一个重要工具,用于帮助开发人员在应用程序运行过程中定位和修复错误。

当在Xcode 11中设置断点并运行应用程序时,如果应用程序在断点处崩溃,并且找不到Foundation.h文件,可能是由于以下原因导致的:

  1. 缺少Foundation框架:Foundation框架是iOS和macOS开发中的基础框架之一,提供了许多常用的类和功能。如果找不到Foundation.h文件,可能是因为项目中没有正确导入Foundation框架。解决方法是在项目设置中确认是否已正确添加Foundation框架。
  2. 编译设置错误:Xcode中的编译设置可能会导致找不到Foundation.h文件。可以尝试重新设置编译器选项,确保正确地包含了Foundation框架。
  3. 项目文件损坏:有时项目文件可能会损坏,导致Xcode无法正确识别和加载Foundation框架。解决方法是创建一个新的项目,并将现有代码和资源文件导入到新项目中。

总结: Xcode 11调试器在断点崩溃,找不到Foundation.h文件可能是由于缺少Foundation框架、编译设置错误或项目文件损坏等原因导致的。解决方法包括确认是否正确导入Foundation框架、重新设置编译器选项以及创建一个新的项目。更多关于Xcode 11的信息和使用方法,可以参考腾讯云的开发者文档:Xcode 11开发者文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何解决Xcode中的SIGABRT错误

从本质上讲,这意味着您的应用已崩溃… 这是Xcode中的样子: 屏幕截图中,您会看到一些东西: 左侧,您可以看到应用崩溃时运行的线程列表。您会看到导致崩溃的线程是主线程或“线程1”。...如果您更改了插座属性的名称,则您的应用程序将找不到它。因此,它将引发异常。导致SIGABRT错误的原因是未处理该异常。 这是Xcode中的样子: 看看发生了什么事?...一个异常断点时的异常在你的代码出现被触发。您无需指示调试器在哪一行上触发断点,而是指示调试器暂停代码执行以防出现异常。 发生异常时,异常断点对于检查代码很有用。...现在,您可以使用调试器检查值,单步执行代码并使用LLDB命令。如果可能,Xcode将带您到引起异常的代码行。 请记住,异常并不一定会使您的应用程序崩溃!...使用异常断点收集SIGABRT崩溃的其他信息,然后解决该错误后将其禁用(直到再次需要它)。

5.9K20

扒虫篇-Debug几个实用的方法

(3)异常断点Exception BreakPoint 设置异常断点的情况下 当程序crash时 Xcode会帮我们定位到crash产生的位置。 ? 设置异常断点步骤: ?...三.LLDB命令 LLDB的Xcode默认的调试器, 我们通过执行LLDB命令使调试过程更加的灵活。并且可以通过指令立刻看到一些我们需要修改完代码再次运行才能看到的效果或者结果,超级实用。...Xcode内嵌LLDB调试窗口。程序执行到断点后你可以输入LLDB命令操作调试过程。 ?...僵尸对象会显示接受到得信息,然后跳入调试器,这样你就可以查看到底是哪里出了问题。 所以这时一般崩溃的原因是:调用了已经释放的内存空间,或者说重复释放了某个地址空间。...如果你找不到造成EXC_BAD_ACCESS的错误,那就需要你仔细审视Xcode项目,分析其中发现的每一个问题。

1.5K10

Xcode Debug 大全

前言 BUG,简单来说就是程序运行结果与预期的不同,下面来说说Xcode中的DEBUG方法 参考博文 断点调试 普通断点 全局断点 条件断点 1.普通断点 看图 65e4f1e6gw1f8rti38wlxj20ke0d3n0h.jpg...当程序运行到断点处时会停下,然后进行单步调试 131002381048966.png 2.全局断点 当程序运行出现崩溃时,就会自动断点到出现crash的代码行 130933043392329.png...LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...参考: 与调试器共舞 - LLDB 的华尔兹 LLDB调试命令初探 About LLDB and Xcode The LLDB Debugger 基础 help 控制台输入help,显示控制台支持的lldb

1.1K20

iOS开发 Xcode的各种调试、DEBUG

2.全局断点 当程序运行出现崩溃时,就会自动断点到出现crash的代码行 3.条件断点 我们如果在一个循环里面使用了断点,如果这个循环执行了100万次,那你的断点要执行那么多次,你不觉得蛋蛋都凉了的忧伤么...所以我们这么做: 编辑断点 添加条件Condition 还可以Action中条件断点触发时执行事件 如:输出信息 4.方法断点 打印调试 尽管ARC已经让内存管理变得简单、省时和高效,但是object...LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...参考: 与调试器共舞 - LLDB 的华尔兹 LLDB调试命令初探 About LLDB and Xcode The LLDB Debugger 基础 help 控制台输入help,显示控制台支持的lldb

2.1K50

iOS代码调试之LLDB命令

前言 iOS系统的APP程序开发中,经常需要代码的调试跟踪,最常用的就是LLDB Debugger程序调试器,LLDB Debugger (LLDB) 是一个开源、底层调试器(low level debugger...),具有REPL (Read-Eval-Print Loop,交互式解释器)、C++和Python插件,位于Xcode窗口底部控制台中,也可以terminal中使用。...expression命令是动态修改变量的值,Xcode还支持动态调用函数。控制台执行call命令,可以不修改代码,不重新编译的情况下,断点调用某个方法,并输出此方法的返回值。...image lookup --address+地址 该命令用于查找可执行文件或共享库的原始地址,当遇到程序崩溃时,可以使用这条命令来根据崩溃日志的原始地址查找崩溃所在的具体位置。 ?...5.流程控制 使用xcode运行程序到达断点时会就会停止运行,调试条上会出现四个可以用来控制程序的执行流程的按钮,功能分别是 “继续”和“暂停”、“下一步”、“进入”、“跳出”。 ?

1.7K20

lldb 入坑指北(1) - 给Xcode批量添加启用&禁用断点功能

前言 为了避免浪费你的时间,阅读本文前,请先思考以下问题: 你是否经常使用 Xcode断点功能? Xcode断点功能好用吗?...如果给 Xcode 批量添加启用&禁用断点功能,是否会提高你的工作效率? 如果都是NO,那么,请先阅读 与调试器共舞 - LLDB 的华尔兹[1] 后再回来阅读本文章。...阅读本文需要以下技能: 对 Python 有基本的了解 对 Xcode断点功能有基本的了解(相关的文档可以参考 Xcode 断点文档[2]) 通过本文,希望大家可以了解以下内容: 了解 lldb 的...API 架构 通过 lldb 相关 API,构建自己的效率工具(Python 脚本) 入门 LLDB LLDB 是一个开源调试器,它已经被内置 Xcode 程序中。...创建一个程序 viewDidLoad 处添加添加断点 运行程序,并使程序停在断点 Console 区域输入 po self 并回车 观察输出结果 当程序暂停后(通过断点或者手动点击暂停按钮),

1.1K10

APP生成与运行(一)

编译过程如下图 来看看一个文件的编译过程,新建Test.m #import int main(){ @autoreleasepool {...App实际执行的二进制文件中,是通过地址来调用方法的。App crash的时候,第三方工具(Fabric,友盟等)会帮我们抓到崩溃的调用栈,调用栈里会包含crash地址的调用信息。...常用头文件放到预编译文件里 XCode的pch文件是预编译文件,这里的内容执行XCode build之前就已经被预编译,并且引入到每一个.m文件里了。...编译器选项优化 Debug模式下,不生成dsym文件 上文提到了,dysm文件里存储了调试信息,Debug模式下,我们可以借助XCode和LLDB进行调试。...这个选项高版本的XCode中自动开启了。 Debug模式下,关闭编译器优化

1.1K10

【iOS 开发】Objective-C 入门 Xcode 环境详解

Xcode 界面详解 1....: HelloWorld 目录下的 ".h" 和 ".m" 后缀文件是源文件; -- 属性文件 : HelloWorld 下的 Supporting Files 目录下是属性文件 图片等; -...: OCTViewController.m 中添加一个断点; 开始调试(自动判断) : 点击顶部面板中的调试按钮, 如果代码中有断点, 就会自动进入调试状态, 执行到断点时会自动停止, 详细调试信息显示底部的调试输出面板..., 点击该按钮, 会退出方法, 执行方法外的单步调试; (7) 断点导航 断点导航简介 : 列出所有的断点, 方便管理断点; (8) 日志导航 日志导航简介 : 列出项目开发过程中 构建, 生成,...程序源码及解析 程序源码 :  /* 导入 Foundation 框架下的 Foundation.h 文件 */ #include /* 程序入口函数

1.6K20

Python 自动化指南(繁琐工作自动化)第二版:十一、调试

11-1 中,调试器在运行第一行代码之前暂停了程序的执行。您可以文件编辑器中看到突出显示的这一行。...断点 可以特定的代码行上设置断点,每当程序执行到该行时,它会强制调试器暂停。打开一个新的文件编辑器标签,进入下面的程序,模拟抛硬币 1000 次。保存为coinFlip.py。...要设置断点,点击文件编辑器中的行号,出现一个红点,如图 11-4 中所示标记断点。 图 11-4:设置断点会导致行号旁边出现一个红点(圆圈)。...您不希望if语句行上设置断点,因为if语句是循环的每次迭代中执行的。当您在if语句中的代码上设置断点时,调试器只有执行进入if子句时才会中断。 带有断点的那一行旁边会有一个红点。...调试器中的“单步执行”、“单步执行”和“单步退出”按钮有什么区别? 单击“继续”后,调试器将于何时停止? 什么是断点 Mu 中如何在一行代码上设置断点

1.4K40

iOS中的Category

什么是Category OC中,扩展一个类的方式有两种:继承与分类 可以不修改原来类的基础上,为这个类扩充一些方法 一个庞大的类可以分模块开发 Category的格式 通过Category给某类添加方法...一般存放不需要对外公开的属性(例子中的age) #import @interface Person : NSObject @property (nonatomic...alloc]initWithFristName:@"firstName" withLastName:@"lastName"]; p.playGameName = @"football"; } Xcode...会有警告 Xcode会有警告.png 运行程序会崩溃 运行程序会崩溃.png 如果分类中有和原类中同名的方法,程序只会调用分类里的方法,如果多个分类中都有和原类中同名的方法,程序只会由编译器决定,编译器最后一个执行的方法来响应...调用优先级(Category->本类->父类) #import @interface Person : NSObject @property (

16510

配合LLDB调试器进行iOS代码调试 原

配合LLDB调试器进行iOS代码调试         一款完整iOS移动应用的开发中,代码的调试和编写占着同等重要的地位。...Xcode默认使用LLDB作为代码调试器,LLDB功能丰富且强大,恰当的使用它,可以帮助开发者事半功倍的完成代码调试的工作。...2.frame代码堆栈块信息相关指令       当Xcode进入断点调试或者遇到异常程序崩溃时,Xcode左侧的导航区都会将程序运行中的相关堆栈块信息列举出来,例如使用如下测试代码,text方法中的...实际代码调试过程中,程序运行的回溯是一个重要的方法,例如上面的代码例子,虽然现在断点test方法中,开发者可能需要在viewDidLoad方法中进行相关调试,例如上面viewDidLoad方法中有一个变量...使用LLDB工具前,遇到这样的情况,我往往会采用打多个断点,一步步追溯代码的运行过程并检查过程中变量的值是否正确,调试起来并不十分方便,如果不小心错过了某个断点,又要重新开始,通过选择调试的frame

1.8K30

lldb-入坑指北(1)-给xcode添加批量启用禁用断点功能

欢迎follow我的github https://github.com/sunbohong ---- 为了避免浪费各位读者的时间,请在阅读本文前先思考以下问题: 你是否经常使用Xcode断点功能?...Xcode断点功能好用吗? 如果给Xcode批量添加启用&禁用断点功能,是否会提高你的工作效率?...(Python脚本) ---- LLDB LLDB 是一个开源调试器,它已经被内置 Xcode 程序中。...创建一个程序 viewDidLoad 处添加添加断点 运行程序,并使程序停在断点 Console 区域输入po self并回车 观察输出结果 当程序暂停后(通过断点或者手动点击暂停按钮),Console...参考文档 lldb命令 Xcode 断点文档 LLDB Python Reference 与调试器共舞 – LLDB 的华尔兹 http://ios.jobbole.com/81794/ https:/

1K31

lldb 入坑指北(1) - 给Xcode批量添加启用&禁用断点功能

欢迎follow我的github https://github.com/sunbohong ---- 为了避免浪费各位读者的时间,请在阅读本文前先思考以下问题: 你是否经常使用Xcode断点功能?...Xcode断点功能好用吗? 如果给Xcode批量添加启用&禁用断点功能,是否会提高你的工作效率?...(Python脚本) ---- LLDB LLDB 是一个开源调试器,它已经被内置 Xcode 程序中。...创建一个程序 viewDidLoad 处添加添加断点 运行程序,并使程序停在断点 Console 区域输入po self并回车 观察输出结果 当程序暂停后(通过断点或者手动点击暂停按钮),Console...参考文档 lldb命令 Xcode 断点文档 LLDB Python Reference 与调试器共舞 – LLDB 的华尔兹 http://ios.jobbole.com/81794/ https:/

80820

XCode的debug断点调试

debug 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行。 调试条上会出现四个你可以用来控制程序的执行流程的按钮。...想象把断点放在函数的开头,然后用 thread return 命令重写函数的行为,然后继续。想象一下让这个过程自动化,听起来不错,不是吗? 管理断点 Xcode 提供了一系列工具来创建和管理断点。...我们会一个个看过来并介绍 LLDB 中等价的命令 (是的,你可以调试器内部添加断点)。 Xcode 的左侧面板,有一组按钮。其中一个看起来像断点。...点击它打开断点导航,这是一个可以快速管理所有断点的面板。 在这里你可以看到所有的断点 - LLDB 中通过 breakpoint list (或者 br li) 命令也做同样的事儿。...如果想在 Xcode 的UI上创建符号断点,你可以点击断点栏左侧的 + 按钮。

5.2K71

XCode的debug断点调试

debug 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行。 调试条上会出现四个你可以用来控制程序的执行流程的按钮。...想象把断点放在函数的开头,然后用 thread return 命令重写函数的行为,然后继续。想象一下让这个过程自动化,听起来不错,不是吗? 管理断点 Xcode 提供了一系列工具来创建和管理断点。...我们会一个个看过来并介绍 LLDB 中等价的命令 (是的,你可以调试器内部添加断点)。 Xcode 的左侧面板,有一组按钮。其中一个看起来像断点。...点击它打开断点导航,这是一个可以快速管理所有断点的面板。 在这里你可以看到所有的断点 - LLDB 中通过 breakpoint list (或者 br li) 命令也做同样的事儿。...如果想在 Xcode 的UI上创建符号断点,你可以点击断点栏左侧的 + 按钮。

1.6K70

【FFmpeg】Windows 10 平台 FFmpeg 开发环境搭建 ③ ( CDB 调试器下载安装 | Qt 中配置 CDB 调试器 | Qt 中配置 32 位 64 位的构建套件 )

应用程序 , 是 Windows Debugging Tools 的组成部分 ; 内核调试 : CDB 可以调试 Windows 操作系统内核 , 可以调试 系统崩溃 / 驱动程序问题 以及深入了解操作系统内部运作机制...变量查看 / 堆栈跟踪等 调试功能 ; 2、CDB 调试器下载 - Windows 11 SDK 下载 ( 2024 年 5 月 24 日 ) CBD 调试器 集成 Windows 11 SDK ,..., 选择 " 菜单栏 / 工具 / 选项 " 设置 , 选项 对话框中的 Kit 面板中的 Debugger 中可以看到 Qt 自动扫描出的调试器 , 其中 " Auto-detected CDB..." 就是刚才安装的 CDB 调试器 ; " 构建套件 (Kit) " 面板中 , 打开 " Desktop Qt 5.14.2 MSVC2015 32bit " 构建套件 设置 , 将 Debugger..." , 并代码中打上一个 断点 , 用于 断点调试测试 ; 点击左下角的 Debug 调试按钮 , 开始调试代码 ; 代码运行到 断点处 , 成功打印出了 断点 的堆栈信息 , 说明 CDB 调试器

20400

XCode调试器LLDB

LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...与此同时,让我们以调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。注意断点已经被加在第 8 行。断点可以通过点击 Xcode 的源码窗口的侧边槽进行创建。...p @"lunar" (NSString *) $13 = 0x00007fdb9d0003b0 @"lunar" 变量 现在你已经可以打印对象和简单类型,并且知道如何使用 expression 命令调试器中修改它们了...就像你可以 C 语言中用 int a = 0 来声明一个变量一样,你也可以 LLDB 中做同样的事情。不过为了能使用声明的变量,变量必须以美元符开头。

1.3K30

XCode调试器LLDB

LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...与此同时,让我们以调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。注意断点已经被加在第 8 行。断点可以通过点击 Xcode 的源码窗口的侧边槽进行创建。...p @"lunar" (NSString *) $13 = 0x00007fdb9d0003b0 @"lunar" 变量 现在你已经可以打印对象和简单类型,并且知道如何使用 expression 命令调试器中修改它们了...就像你可以 C 语言中用 int a = 0 来声明一个变量一样,你也可以 LLDB 中做同样的事情。不过为了能使用声明的变量,变量必须以美元符开头。

1.3K60
领券