在 Xcode 4 中,您可以使用以下步骤来在断点操作中打印字符串值:
NSLog(@"字符串值: %@", 变量名);
其中,变量名 是您要打印的字符串变量的名称。
变量名
需要注意的是,Xcode 4 已经过时,不再被官方支持。如果您使用的是 Xcode 5 或更高版本,建议使用更新的版本来获得更好的性能和更多的功能。
二.断点 (1)普通断点 普通断点是调试中最常使用的。当程序运行到断点处就会暂停运行。 用于在某些重要的操作前查看关键参数的值。...你还可以添加能根据断点自动发生的动作,例如一个debugger command---打印一个值, 以下是亲测可用的条件断点语句: dic.count == 3 [dic count]...Xcode内嵌LLDB调试窗口。在程序执行到断点后你可以输入LLDB命令操作调试过程。 ?..., po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。...如何找出问题 1.NSZombieEnabled EXC_BAD_ACCESS 可以这么说,90%的错误来源在于对一个已经释放的对象进行release操作。
LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...命令 print 打印值 缩写p print是 expression -- 的缩写 printk可以指定格式打印 如 默认 p 十六进制 p/x、 二进制 p/t (lldb) p 16 16 (...,或者 p/s 打印以空终止的字符串 p/d打印ACRSII(译者注:以 '\0' 结尾的字符串)。...完整清单点击查看 po 打印对象,是 e -o --的缩写 expression 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行
LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...命令 print 打印值 缩写p print是 expression -- 的缩写 006y8lVagw1f8vakv88vuj30b204s74x.jpg printk可以指定格式打印 如 默认 p...,或者 p/s 打印以空终止的字符串 p/d打印ACRSII(译者注:以 ‘\0’ 结尾的字符串)。...完整清单点击查看 po 打印对象,是 e -o --的缩写 expression 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行
在平时的开发中,基本上都会用到字符串判断空值和集合判断空值的处理,还记得在刚干开发的时候,写的代码在现在看起来是真的有点Hello World,那么这次分享两个非常常用的方法,字符串非空判断和集合非空判断...首先两个方法都可以判断字符串是否为null,但是我们平常在业务中,特别是用户搜索,用户很可能输入空白字符,如果用户什么也没输入,就敲了两个空格,那么提交到后台,按道理来说空字符串肯定是不合法的,那么此时的...isNotEmpty是无法判断的,相反isNotBlank却可以在去除字符串两边的空格然后再进行判断,所以这里推荐大家使用 isNotBlank 更为安全。...集合空值判断 再来看一段当年的传奇之作 public static void main(String[] args) { List list = new ArrayList...if (list == null || list.size() <= 0) { } } 一般对集合都要进行两项判断,首先判断是否不为null,其次判断是否不为空,如果都满足,再进行下面的操作
对于初学iOS开发的同学,了解了Objective-C的基本使用后,最关心的应该是如何把OC程序运行起来。由于Xcode的基本使用比较简单,所以本文着重介绍一些Xcode的调试技巧。...一、基本使用 二、断点 三、常用命令 四、多线程 五、UI调试 六、其他 一、基本使用 1、如何创建一个工程: 打开Xcode -> File -> New -> Project ?...三、常用命令 1、 p命令 Xcode里可以使用p命令查看基本数据类型的值,使用po命令查看oc对象。...1、 expr命令 expr命令全称expression,可以在调试时动态的执行表达式,同时打印出结果。常用来动态修改变量的值。 ?...4、使用符号断点跟踪UI变化: 对于一些系统控件的信息,如果发现最终显示和自己设置的不一样,可以使用符号断点,在一些设置函数下断点,这样就可以很清晰的看到是从哪里改变了这个属性的值。
$后面的数值是递增的,每打印一个与对象相关的命令,这个值都会加1。...expression命令是动态修改变量的值,Xcode还支持动态调用函数。在控制台执行call命令,可以在不修改代码,不重新编译的情况下,在断点调用某个方法,并输出此方法的返回值。...该信息比左侧的Debug Navigator 看到的还要详细一些。如果嫌堆栈打印太长,可以加一个值限制,如bt 10。 ? bt all 命令可以打印所有线程的堆栈信息。...5.流程控制 使用xcode运行程序到达断点时会就会停止运行,调试条上会出现四个可以用来控制程序的执行流程的按钮,功能分别是 “继续”和“暂停”、“下一步”、“进入”、“跳出”。 ?...,最常使用的是LLDB命令和断点操作混合调试,本文只是抛砖引玉,需要的同学可以在网上进行更深入了解学习~。
与调试器共舞 - LLDB 的华尔兹 你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值?...LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...(这里有一个关于调试器如何工作的总体的解释。) 你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。...与此同时,让我们以在调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。注意断点已经被加在第 8 行。断点可以通过点击 Xcode 的源码窗口的侧边槽进行创建。...其实这时候我们要用到的是 expression 这个方便的命令。 ? 这不仅会改变调试器中的值,实际上它改变了程序中的值。这时候继续执行程序,将会打印 42 red balloons。神奇吧。
在本教程中,您将学习: 如何解决Xcode中的“ Signal SIGABRT”错误 如何在Xcode中使用某些调试工具 SIGABRT代表什么,其原因是什么 找到SIGABRT根本原因的3种方法 准备好...从本质上讲,这意味着您的应用已崩溃… 这是Xcode中的样子: 在屏幕截图中,您会看到一些东西: 在左侧,您可以看到应用崩溃时运行的线程列表。您会看到导致崩溃的线程是主线程或“线程1”。...像这样: 您会看到许多LLDB命令直接对应于调试器可以执行的操作,例如设置断点,单步执行代码行以及检查运行时值。 一个命令特别有用。...设置异常断点 您可以使用断点在特定行停止执行代码。此时,您可以检查值并逐步执行功能。 一个异常断点时的异常在你的代码出现被触发。...您无需指示调试器在哪一行上触发断点,而是指示调试器暂停代码执行以防出现异常。 发生异常时,异常断点对于检查代码很有用。您可以看到引发异常的代码行,并且可以在此时检查代码中的值。
欢迎follow我的github https://github.com/sunbohong ---- 为了避免浪费各位读者的时间,请在阅读本文前先思考以下问题: 你是否经常使用Xcode的断点功能?...Xcode的断点功能好用吗? 如果给Xcode批量添加启用&禁用断点功能,是否会提高你的工作效率?...阅读本文需要以下技能: 对 Python 有基本的了解 对 Xcode 的断点功能有基本的了解(相关的文档见下方的参考链接) 通过本文,希望大家可以了解以下内容: 通过 lldb 相关 API,构建自己的效率工具...如下图所示,位于主窗口的底部,名为Conseole的窗口就是用于和 lldb 交互的区域。 ? ---- 断点 首先,我们通过以下操作,对 lldb 有基本的了解。...command 是一个字符串,是我们命令的参数,通过情况下,我们可以使用 shlex 模块的 shlex.split(command) 命令切割处理。当然,本例直接透传就可以了。
可以看到,在这里面可以遍历设备信息并且拿到有效设备的信息: 此时再点击断点的下一步,会发现终端控制台会打印出如下信息: 此时,程序跑到Xcode中去了,那么它是怎么跑到Xcode中去的呢?...mac.dart文件中的buildXcodeProject函数去编译构建Xcode工程的,buildXcodeProject函数里面执行了一些脚本操作和打印操作。...接下来我们来到devFS.update函数中,这是查找增量更新代码的最核心方法: 这里的content记录的就是本次更改的代码信息,我接下来在该处打个断点,看一下content的值: 可以看到,...四、将代码变动文件信息传输给DartVM 现在断点断到了下面这里: 我们现在跳出代码层面想一下,文件改动了之后,我现在拿到了文件的改动信息,接下来就是将改动的代码给渲染出来,而从源代码到最终渲染到屏幕上这中间是有很多步骤的...引擎——下载、编译和调试》我介绍了如何通过在Xcode的Generated配置文件中进行配置来将自定义的engine工程挂载到示例工程上面。
我们在日常开发中离不开代码的调试和分析,断点调试是任何开发环境都必不可少的功能。Xcode提供了强大的断点调试,可以帮助我们进行差错分析等。...为自定义断点添加行为 为自定义断点添加行为是比较高级的断点用法,可以使用LogMessage等行为实现断点时Xcode额外输出的一些内容。...2.1 Log Message 我们可以选择输出的方式,选择Speak messsage则会播报断点的上图的断点中的内容,选择Log message to console的话则会打印断点的输出信息到控制台...关于断点输出的设置,可以编写人日字符串,有些特殊含义的格式化符号 %H:输出断点触发的次数 %B:输出断点的名字 @@:在2个@符号中间可以输入表达式 2.2 Debugger Command...GPU当前所绘制的帧 添加全局断点 Xcode 还提供了一些全局断点,全局断点主要有7种。
普通操作 如图3 ? 基本的断点操作如下 图4 ?...这个是非常强大的,可以在你断点的位置,执行各种操作,比如执行脚本命令,控制台命令(可以制定调试信息自定义保存)、打印信息等, 博主最喜欢的就是这个Log message啦,简单粗暴!...根本就不需要print啊NSLog嘛,直接在断点的Action打印就好了(其实这个是Xcode和调试器结合的高能产物,下面再介绍)。具体可以这样: 图11 ?...lldb真的很强大,博主没有骗你,这篇博文到此的所有调试技巧lldb都可以实现,各种断点,各种打印,调用python插件,运行中断,操作硬件底层,控制程序运行线程……lldb都可以做到!...通常,App用户界面的行为不会符合开发者期望的那样,比如或者不展示视图,或者没有正确地展示。本文讲解如何使用Xcode的新的视图调试功能来简化开发者对问题界面的确认和修复。
前言 为了避免浪费你的时间,在阅读本文前,请先思考以下问题: 你是否经常使用 Xcode 的断点功能? Xcode 的断点功能好用吗?...如果给 Xcode 批量添加启用&禁用断点功能,是否会提高你的工作效率? 如果都是NO,那么,请先阅读 与调试器共舞 - LLDB 的华尔兹[1] 后再回来阅读本文章。...阅读本文需要以下技能: 对 Python 有基本的了解 对 Xcode 的断点功能有基本的了解(相关的文档可以参考 Xcode 断点文档[2]) 通过本文,希望大家可以了解以下内容: 了解 lldb 的...po self 是指把 self 当做一个对象进行打印,类似的还有 p self 等命令。 ps. 通过help命令,可以打印所有的可用命令。pss. 通过help po命令,可以打印该命令的用法。...command 是一个字符串,是我们命令的参数。以我们在 lldb 输入 ls -l var 为例,command 是-l var。
一、LLDB LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debugger,其可以安装C++或者Python插件。...Xcode已经为我们提供了可视化的工具,但是如果你习惯了命令行操作不希望双手离开键盘降低你的效率,了解一下也是很有帮助的。 ?...image.png frame variable 平时Debug的时候我们经常做的事就是查看变量的值,通过frame variable命令,可以打印出当前frame的所有变量 可以看到,他将self,...当我执行p array = @[@"a",@"b"]修改array后,watchpoint打印出了我旧值和新值。 除了以上指令之外,watchpoint当然也有和breakpoint一样的指令。...这时候就该thread return上场了 thread return可以接受一个表达式,调用命令之后直接从当前的frame返回表达式的值。 结语 以上篇幅介绍的只是冰山一角。
Siri Shortcuts可让您轻松地从您的应用程序中获取常见操作,并将其提供给Siri。用户可以使用自己的口头短语制作快捷方式,也可以在应用或扩展程序中推荐短语。...在示例应用程序中,Soup Chef,Apple演示了如何对快捷方式进行分类,然后添加一些参数,如字符串,数字,人物或位置。一旦捐赠给Siri,您可以通过说出您提供的短语来触发快捷方式。...在进行实时调试会话时,Miles会显示断点的高级用法。使用表达式命令和编辑断点,您可以更改值以测试代码,而无需编译并重新运行代码。 您还可以通过双击断点并打开编辑器在断点处添加忘记的代码行。...第一个参数是接收者,第二个在Objective-C消息中发送是选择器,下一个系列是传入的参数。通常,你可以使用po控制台中的命令用于打印调试描述并查看当前值。一点点类型转换可以提供帮助。...- Apple Miles软件工程经理Chris Miles 在会议期间,还会调试macOS应用程序的视图 - 这次,检查View Debugger中的元素 - 使用相同的技巧来打印视图和约束的值。
Siri Shortcuts可让您轻松地从您的应用程序中获取常见操作,并将其提供给Siri。用户可以使用自己的口头短语制作快捷方式,也可以在应用或扩展程序中推荐短语。...在示例应用程序中,Soup Chef,Apple演示了如何对快捷方式进行分类,然后添加一些参数,如字符串,数字,人物或位置。一旦捐赠给Siri,您可以通过说出您提供的短语来触发快捷方式。...在进行实时调试会话时,Miles会显示断点的高级用法。使用表达式命令和编辑断点,您可以更改值以测试代码,而无需编译并重新运行代码。 您还可以通过双击断点并打开编辑器在断点处添加忘记的代码行。...第一个参数是接收者,第二个在Objective-C消息中发送是选择器,下一个系列是传入的参数。通常,你可以使用po控制台中的命令用于打印调试描述并查看当前值。一点点类型转换可以提供帮助。...- Apple Miles软件工程经理Chris Miles 在会话期间,还会调试macOS应用程序的视图 - 这次,检查View Debugger中的元素 - 使用相同的技巧来打印视图和约束的值。
:执行命令的操作 :命令选项 :命令的参数 []:表示命令是可选的,可以有也可以没有 举个例子,假设我们给main方法设置一个断点,我们使用下面的命令...我们要查看某一个命令改如何使用时,可以使用 help 来获取对应命令的使用方法。...-c:设置打印堆栈的帧数(frame) -s:设置从哪个帧(frame)开始打印 -e:是否显示额外的回溯 */ e.g: 当发生crash的时候,我们可以使用thread backtrace...thread return可以接受一个表达式,调用命令之后直接从当前的frame返回表达式的值。...如果你想了解怎么使用Xcode设置断点,可以阅读这篇文章《Xcode中断点的威力》 2.2.10 watchpoint命令 breakpoint有一个孪生兄弟watchpoint。
领取专属 10元无门槛券
手把手带您无忧上云