对于初学iOS开发的同学,了解了Objective-C的基本使用后,最关心的应该是如何把OC程序运行起来。由于Xcode的基本使用比较简单,所以本文着重介绍一些Xcode的调试技巧。...一、基本使用 二、断点 三、常用命令 四、多线程 五、UI调试 六、其他 一、基本使用 1、如何创建一个工程: 打开Xcode -> File -> New -> Project ?...启动调试器,在调试区可以看到如下 ?...Xcode支持很多种不同类型的断点,包括普通断点、条件断点、符号断点、watch断点、线程断点,下面一个个来介绍,同时会根据工作中的经验介绍下相关断点的使用场景。...1、 call命令 除了动态修改变量的值,Xcode还支持动态调用函数,可以在不增加代码,不重新编译的情况下动态调用一个方法。 ? 动态的将m_text从父view中移除。
BUG,简单来说就是程序运行结果与预期的不同,下面来说说Xcode中的DEBUG方法 参考博文 断点调试 普通断点 全局断点 条件断点 1.普通断点 看图 当程序运行到断点处时会停下,然后进行单步调试...2.全局断点 当程序运行出现崩溃时,就会自动断点到出现crash的代码行 3.条件断点 我们如果在一个循环里面使用了断点,如果这个循环执行了100万次,那你的断点要执行那么多次,你不觉得蛋蛋都凉了的忧伤么...LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...(lldb) thread return NO 不用断点调试 在程序运行时,点击暂停按钮,即可进入调试状态,能对全局变量做操作 工具调试(instruments) instruments Xcode自带许多工具供大家使用
欢迎follow我的github https://github.com/sunbohong ---- 为了避免浪费各位读者的时间,请在阅读本文前先思考以下问题: 你是否经常使用Xcode的断点功能?...Xcode的断点功能好用吗? 如果给Xcode批量添加启用&禁用断点功能,是否会提高你的工作效率?...(Python脚本) ---- LLDB LLDB 是一个开源调试器,它已经被内置在 Xcode 程序中。...这些调试接口可以在 lldb 的脚本解释器内直接使用,或者可以被引入 lldb.py 模块 的Python脚本 使用。...参考文档 lldb命令 Xcode 断点文档 LLDB Python Reference 与调试器共舞 – LLDB 的华尔兹 http://ios.jobbole.com/81794/ https:/
其次考虑配套软件 windows配套的只有rtools而mac有3个,在官方网站上面有提及,分别是: Xcode、GNU Fortran和XQuartz。...This release uses Xcode 14.2/14.3 and GNU Fortran 12.2....下面是kimi告诉我们的他们的作用 Xcode: Xcode是苹果公司开发的一个集成开发环境(IDE),主要用于开发macOS、iOS、watchOS和tvOS应用程序。...它包含了一套完整的工具集,包括编译器、调试器和性能分析工具,支持Swift、Objective-C、C和C++等多种编程语言。 Xcode是苹果开发者的主要工具,用于构建和优化苹果平台上的应用程序。...Xcode 14.2/14.3 GNU Fortran 12.2 最后,记得装完软件后重启一下,重启解决无数问题噻。 最后,不要因此而质疑mac 你可能觉得好麻烦,还是windows好呢。
Visual Studio、从事 Java 开发的要熟悉 Eclipse 或 IntelliJ IDEA、从事 Android 开发的要熟悉 Android Studio、从事 iOS 开发的要熟悉 XCode...01 熟练使用 GDB 是 Linux C/C++ 开发人员的基本素养 我之前有份后台开发的工作,部门有个不成文的规定:即使很明确的程序,每个分支必须使用 GDB 调试器去追踪一下程序,看看执行过程中的各种中间状态是否符合预期...有些面试者对各种开发工具都不熟悉,我猜想这类应聘者应该是基本“不写代码”或者“不会写代码”的,面试结果可想而知。...如果能实际利用调试器去把某个开源项目调试一遍,学习效果才能更好。...在调试的过程中,遇到了一些需要重复操作才能触发的断点,在厌倦反复手工操作以后,学会了临时断点、条件断点和硬件断点的添加方法。
前言 BUG,简单来说就是程序运行结果与预期的不同,下面来说说Xcode中的DEBUG方法 参考博文 断点调试 普通断点 全局断点 条件断点 1.普通断点 看图 65e4f1e6gw1f8rti38wlxj20ke0d3n0h.jpg...3.条件断点 我们如果在一个循环里面使用了断点,如果这个循环执行了100万次,那你的断点要执行那么多次,你不觉得蛋蛋都凉了的忧伤么?...LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...参考: 与调试器共舞 - LLDB 的华尔兹 LLDB调试命令初探 About LLDB and Xcode The LLDB Debugger 基础 help 在控制台输入help,显示控制台支持的lldb
二.断点 (1)普通断点 普通断点是调试中最常使用的。当程序运行到断点处就会暂停运行。 用于在某些重要的操作前查看关键参数的值。...(2)条件断点 点击Xcode editor的‘gutter’来添加断点,右键点击断点,然后选择“edit breakpoint”来设置特定条件。 ?...Ignore 表示忽略多少次之后断点有效。例如:不设置条件,Ignore设置为4,则i=4时程序在断点处停止。...三.LLDB命令 LLDB的Xcode默认的调试器, 我们通过执行LLDB命令使调试过程更加的灵活。并且可以通过指令立刻看到一些我们需要修改完代码再次运行才能看到的效果或者结果,超级实用。...Xcode分析 当你点击一个问题,Xcode的会指向问题代码块,这些正是你要的注意的地方。注意,Xcode仅仅是建议。在某些情况下,这是可能的,问题是不相关的,不固定。
编译环境 ---- MacOS Catalina 10.15.5 Xcode 12.2 Python 2.x brew install cmake ninja 3..../swift/utils/update-checkout --tag swift-5.3.1-RELEASE --clone ▐ 3.4 编译 编译过程中既可以使用 ninja,也可以使用 Xcode...但是 Xcode 编译后的支持性不是特别好,所以这里就使用了 ninja 来作为编译工具了 ....调试 ---- 切换至终端 在终端中写入一下代码 源码中搜索 swift_allocObject(这个在后面会研究,再次仅做调试的例子),加上断点 继续在终端输入 var t = LjTeacher...() 回车 我们发现断点断住了,这说明调试成功了( LjTeacher() 内部调用了swift_allocObject 方法) 至此 Swift 源码调试完成,为后面探索 Swift 底层实现提供很直观帮助
前言 为了避免浪费你的时间,在阅读本文前,请先思考以下问题: 你是否经常使用 Xcode 的断点功能? Xcode 的断点功能好用吗?...如果给 Xcode 批量添加启用&禁用断点功能,是否会提高你的工作效率? 如果都是NO,那么,请先阅读 与调试器共舞 - LLDB 的华尔兹[1] 后再回来阅读本文章。...阅读本文需要以下技能: 对 Python 有基本的了解 对 Xcode 的断点功能有基本的了解(相关的文档可以参考 Xcode 断点文档[2]) 通过本文,希望大家可以了解以下内容: 了解 lldb 的...API 架构 通过 lldb 相关 API,构建自己的效率工具(Python 脚本) 入门 LLDB LLDB 是一个开源调试器,它已经被内置在 Xcode 程序中。...这些调试接口可以在 lldb 的脚本解释器内直接使用,或者可以被引入 lldb.py 模块的 Python 脚本使用。
你可以使用调试器。而且即使你已经知道如何使用调试器检查变量,它可以做的还有很多。 这篇文章将试图挑战你对调试的认知,并详细地解释一些你可能还不了解的基本原理,然后展示一系列有趣的例子。...现在就让我们开始与调试器共舞一曲华尔兹,看看最后能达到怎样的高度。 LLDB LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。...LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...与此同时,让我们以在调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。注意断点已经被加在第 8 行。断点可以通过点击 Xcode 的源码窗口的侧边槽进行创建。
3.代码编写选择语言: macOS 应用主要使用 Swift 或 Objective-C 语言开发。构建界面: 使用 Interface Builder 可视化地设计界面,或者使用代码编写。...4.调试与测试Xcode调试器: 利用 Xcode 的调试器,设置断点、单步执行等,查找并修复代码中的错误。单元测试: 编写单元测试,确保代码的正确性。...UI测试: 使用 Xcode 的 UI 测试功能,测试应用程序的用户界面。5.资源管理图片: 将图片添加到项目中,并设置其属性。本地化: 如果需要支持多种语言,进行本地化处理。...6.打包与分发打包: 使用 Xcode 打包应用程序,生成可执行文件。分发: Mac App Store: 遵循苹果的审核流程,将应用程序提交到 Mac App Store。...开发者需要掌握 Xcode 的使用、Swift 或 Objective-C 编程语言、Cocoa 框架等知识。通过合理的规划和设计,并结合苹果提供的丰富资源,可以开发出高质量的 macOS 应用程序。
虽然有说法不能过分依赖调试器,但一般情况下,尤其是程序逻辑复杂,使用调试器可以极大地提高程序的优化和维护效率。...三、CodeBlocks调试器的基本使用方法 首先,CodeBlocks调试器需要一个完整的项目才可以启动,单独的文件无法使用调试器。...2.2 设置断点 使用调试器时需要让程序在需要的位置中断,在启动调试器前设置断点如下,鼠标点击编辑器的左边即可设置断点, ?...2.3 启动调试器 2.3.1 调试器需要以Debug模式启动,点击按钮debug: ? 2.3.2 启动后,程序执行到断点时,中断 ?...结束 以上为调试器的基本使用方法,调试的目的主要是跟踪变量值,观察程序是否按预期的情况在执行,如果遇到变量值与预期不符,则问题就出现在之前的语句。
应该是踢主机呀~~,现在有了全局断点,娘亲再也不担心你砸鼠标了,你只需要这样: 图7 ?...根本就不需要print啊NSLog嘛,直接在断点的Action打印就好了(其实这个是Xcode和调试器结合的高能产物,下面再介绍)。具体可以这样: 图11 ?...我们家的编译器历史 敬请乱入 《iOS中的预编译指令的初步探究》 ,没错我们现在正在使用着世界上最好的c、c++、oc、swift的编译器——LLVM,lldb就是这个世界上最好的LLVM的调试器!...可以让你好好的回味,呵呵 《The LLDB Debugger》 《About LLDB and Xcode》 《LLDB调试命令初探》 《与调试器共舞 - LLDB 的华尔兹》 Profile(instruments...通常,App用户界面的行为不会符合开发者期望的那样,比如或者不展示视图,或者没有正确地展示。本文讲解如何使用Xcode的新的视图调试功能来简化开发者对问题界面的确认和修复。
debug 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行。 调试条上会出现四个你可以用来控制程序的执行流程的按钮。...想象把断点放在函数的开头,然后用 thread return 命令重写函数的行为,然后继续。想象一下让这个过程自动化,听起来不错,不是吗? 管理断点 Xcode 提供了一系列工具来创建和管理断点。...我们会一个个看过来并介绍 LLDB 中等价的命令 (是的,你可以在调试器内部添加断点)。 在 Xcode 的左侧面板,有一组按钮。其中一个看起来像断点。...如果想在 Xcode 的UI上创建符号断点,你可以点击断点栏左侧的 + 按钮。...我们可以使用 p i 作为断点行为。这样每次到达断点的时候,都会自动运行这个命令。
像这样: 您会看到许多LLDB命令直接对应于调试器可以执行的操作,例如设置断点,单步执行代码行以及检查运行时值。 一个命令特别有用。...设置异常断点 您可以使用断点在特定行停止执行代码。此时,您可以检查值并逐步执行功能。 一个异常断点时的异常在你的代码出现被触发。...您无需指示调试器在哪一行上触发断点,而是指示调试器暂停代码执行以防出现异常。 发生异常时,异常断点对于检查代码很有用。您可以看到引发异常的代码行,并且可以在此时检查代码中的值。...这是设置异常断点的方法: 使用左侧的标签,转到Xcode中的Breakpoint导航器 单击左下角的+按钮,然后选择“异常断点” 保持默认设置不变(尽管它们有助于自定义) 运行你的代码 引发异常时,应用程序的执行将停止...现在,您可以使用调试器检查值,单步执行代码并使用LLDB命令。如果可能,Xcode将带您到引起异常的代码行。 请记住,异常并不一定会使您的应用程序崩溃!
Level Debug)是Apple正在迁移的LLVM工具套件(包括Clang)的一部分具有REPL (Read-Eval-Print Loop,交互式解释器)、C++ 和 Python 插件,位于 Xcode...窗口底部控制台中,也有其他 IDE 加入了 LLDB 调试器,如** CLion**,当然其也可以在 terminal 中使用。...安装GDB调试器 yum install gdb (CentOS) gdb -v 查看gdb是否安装成功 安装LLDB调试器(暂时不写) 大多数电脑还是用GDB作为调试器的,一般只有MAC使用且内置...LLDB,暂时先不写这个 安装g++编译器 yum install gcc-g++ gcc -v 查看是否安装成功 通过g++编译程序 创建程序main.cpp,func.cpp.../out执行程序 设置断点 设置断点之前我们进入gdb调试 gdb out 开始Debug b main 在main函数设置断点(此时程序会停在初始化的第一条语句) run 执行程序 查看栈
领取专属 10元无门槛券
手把手带您无忧上云