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

iOS代码调试之LLDB命令

),具有REPL (Read-Eval-Print Loop,交互式解释器)、C++和Python插件,位于Xcode窗口底部控制台中,也可以在terminal中使用。...p 和 po 的区别在于使用 po 只会输出对应的值,而 p 则会返回值的类型以及命令结果的引用名。 用法如下: ?...在输出结果中有类似于$0,$1这样的符号,它是指向对象的一个引用,在控制面板中可以直接使用这个符号来操作对应的对象,它们存在于LLDB的全名空间中,目的是为了辅助调试。...expression命令是动态修改变量的值,Xcode还支持动态调用函数。在控制台执行call命令,可以在不修改代码,不重新编译的情况下,在断点调用某个方法,并输出此方法的返回值。...5.流程控制 使用xcode运行程序到达断点时会就会停止运行,调试条上会出现四个可以用来控制程序的执行流程的按钮,功能分别是 “继续”和“暂停”、“下一步”、“进入”、“跳出”。 ?

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    XCode调试器LLDB

    LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。GDB to LLDB 参考是一个非常好的调试器可用命令的总览。...与此同时,让我们以在调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。注意断点已经被加在第 8 行。断点可以通过点击 Xcode 的源码窗口的侧边槽进行创建。...的缩写),我们可以使用它来进行简化: (lldb) po $8 ( foo, bar ) (lldb) po @"lunar" lunar...现在让我们使用一些变量来减少输入量。就像你可以在 C 语言中用 int a = 0 来声明一个变量一样,你也可以在 LLDB 中做同样的事情。不过为了能使用声明的变量,变量必须以美元符开头。

    1.4K30

    XCode调试器LLDB

    LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。GDB to LLDB 参考是一个非常好的调试器可用命令的总览。...与此同时,让我们以在调试器中打印变量来开始我们的旅程吧 基础 这里有一个简单的小程序,它会打印一个字符串。注意断点已经被加在第 8 行。断点可以通过点击 Xcode 的源码窗口的侧边槽进行创建。...的缩写),我们可以使用它来进行简化: (lldb) po $8 ( foo, bar ) (lldb) po @"lunar" lunar...现在让我们使用一些变量来减少输入量。就像你可以在 C 语言中用 int a = 0 来声明一个变量一样,你也可以在 LLDB 中做同样的事情。不过为了能使用声明的变量,变量必须以美元符开头。

    1.3K60

    iOS开发 Xcode的各种调试、DEBUG

    LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。GDB to LLDB 参考是一个非常好的调试器可用命令的总览。...参考: 与调试器共舞 - LLDB 的华尔兹 LLDB调试命令初探 About LLDB and Xcode The LLDB Debugger 基础 help 在控制台输入help,显示控制台支持的lldb...完整清单点击查看 po 打印对象,是 e -o --的缩写 expression 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行...(lldb) thread return NO 不用断点调试 在程序运行时,点击暂停按钮,即可进入调试状态,能对全局变量做操作 工具调试(instruments) instruments Xcode自带许多工具供大家使用

    2.3K50

    如何在Electra越狱的设备上使用LLDB调试应用程序

    因此我决定写一篇相关的指南,经过我的测试它非常的适用于我,但我无法确定它是否同样适用于你。...从Xcode将debugserver部署到你的设备 首先,通过ssh连接到你的iOS设备,查看/Developer/usr/bin/debugserver是否存在。...将LLDB attach到已经运行的进程 在你的Mac控制台上,连接iPhone: ? 在iPhone的控制台中运行 ? 找到你想要attach的进程的pid。然后运行 ?...现在,在Mac上打开另一个控制台,然后运行 ? 在LLDB控制台中运行 ? 在LLDB下运行应用程序 在你的Mac控制台上,连接iPhone: ? 在iPhone的控制台中运行 ?...现在,在Mac上打开另一个控制台,然后运行 ? 在LLDB控制台中运行 ? 重要提示!

    2.3K40

    Xcode Debug 大全

    LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。...你以前有可能已经使用过调试器,即使只是在 Xcode 的界面上加一些断点。但是通过一些小的技巧,你就可以做一些非常酷的事情。GDB to LLDB 参考是一个非常好的调试器可用命令的总览。...参考: 与调试器共舞 - LLDB 的华尔兹 LLDB调试命令初探 About LLDB and Xcode The LLDB Debugger 基础 help 在控制台输入help,显示控制台支持的lldb...完整清单点击查看 po 打印对象,是 e -o --的缩写 expression 流程控制 当你通过 Xcode 的源码编辑器的侧边槽 (或者通过下面的方法) 插入一个断点,程序到达断点时会就会停止运行...在 LLDB 中,你可以使用 process continue 命令来达到同样的效果,它的别名为 continue,或者也可以缩写为 c。

    1.2K21

    【IOS开发进阶系列】IOS常用开发技巧专题

    因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。     不信?...然后, 最关键的一步来了, 那就是…     重新运行项目(不用重启Xcode也可以),看如下图~~ 就代表成功啦 那么现在我们继续在控制台输入po self.view.frame 成功了!...2.1.5 在控制台里打印controller的层级         在控制台里使用po [UIViewController _printHierarchy]命令即可打印出controller的层级,一目了然....大家都去玩玩吧~~1 2.1.6 在控制台里打印view的层级         在控制台里使用po [[[UIApplication sharedApplication] keyWindow] recursiveDescription...po [view recursiveDescription] po [view recursiveDescription] 2.1.7 在debug模式下的控制台里使用po命令打印对象的属性和值

    45940

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

    二.断点 (1)普通断点 普通断点是调试中最常使用的。当程序运行到断点处就会暂停运行。 用于在某些重要的操作前查看关键参数的值。...2, po (print object)输出对象, 如 po [self view]; (相当于普通的NSLog) 3, expr (expression) 可以在调试时动态执行指定表达式,并将结果打印出来...其实上述的po和p也有调用的功能。因此一般只在不需要显示输出,或是方法无返回值时使用call。...所以当启用NSZombieEnabled时,一个错误的内存访问就会变成一条无法识别的消息发送给僵尸对象。僵尸对象会显示接受到得信息,然后跳入调试器,这样你就可以查看到底是哪里出了问题。...对 Xcode 设置了NSZombieEnabled 之后,Xcode 会明确定位在行[array addObject:@"Hello"],然后控制台下报的错误信息是: *** -[__NSArray

    1.6K10

    逆向开发从零到整(LLDB)

    前言 LLDB是我们平时调试中使用最多的工具之一,p或者po是使用最多的指令。除了p和po之外,还有什么指令可以使用呢?今天再次来提升一下对LLDB的使用吧。...流程控制可视化界面 继续 下一步 进入 ,进入主要是进入函数中查看相关代码或者汇编代码 跳出 和进入相反 四、hook概念(stop-hook ) target stop-hook 我们知道...target stop-hook命令就是让你可以在每次stop的时候去执行一些命令 target stop-hook只对breakpoint和watchpoint的程序stop生效,直接点击Xcode上的...八、frame 参数检查 frame frame 官方解释 frame 框架的意思,但它应解释成(帧)它能显示堆栈信息, 我们在控制台上输入命令bt,可以打印出来所有的frame。..._cmd,ret,a等本地变量都打印了出来 如果我们要需要打印指定变量,也可以给frame variable传入参数: 不过frame variable只接受变量作为参数,不接受表达式,也就是说我们无法使用

    1K20

    如何解决Xcode中的SIGABRT错误

    这是发生了什么: 您在Interface Builder中创建了一个新的视图控制器,并使用一些UI元素(例如按钮和标签)对其进行了设置 您可以通过使用插座属性将这些UI元素连接至代码,这将在视图控制器的属性与...该应用程序此时告诉我们,视图控制器不符合该键的键值编码button。这意味着它无法button在视图控制器上找到该属性。没错,因为我们已经对其进行了重命名。...iOS使用一种称为键值编码的机制来检查视图控制器具有的属性,因此它可以使用这些属性来引用其基于XIB创建的UI元素。 您现在如何解决该错误?...这是您的应用程序运行时在Xcode底部,控制台或调试输出区域中看到的内容。您经常在这里看到调试消息,但是您知道也可以使用它来输入命令吗? 下次您的应用崩溃时,请尝试输入helpLLDB。...po。

    6.1K20

    XCode基本使用及调试技巧

    对于初学iOS开发的同学,了解了Objective-C的基本使用后,最关心的应该是如何把OC程序运行起来。由于Xcode的基本使用比较简单,所以本文着重介绍一些Xcode的调试技巧。...2、Xcode界面简介: ? 如图,Xcode界面主要分为5个部分。 导航区:导航作用,可以查看项目总体结构。 编辑区:用于编写代码的区域。 调试区:用于输出和显示调试信息的区域。...三、常用命令 1、 p命令 Xcode里可以使用p命令查看基本数据类型的值,使用po命令查看oc对象。...简单的查看一个变量或者一个OC对象的值在watch窗口完全可以满足,但是如果需要查看一个oc对象的属性,或者一个oc对象方法的返回值怎么办呢?p和po命令后面都可以接相应的表达式,如: ?...另外对于多线程问题合理的使用线程断点和条件断点也是很有帮助的。 五、UI调试 1、控件信息: 查看控件信息无外乎还是使用p和po命令。

    6.5K71

    iPhone页面的常用调试方法

    在iPhone中调试,大体上与上文 安卓中的移动页面调试 类似,区别主要是iOS系统中的一些限制,导致某些工具无法使用。 本文基于此,简要介绍在iPhone中如何调试页面。...,在iPhone上不好设置HOST,所以需要一些代理工具帮助我们 除了Windows平台中常用的代理调试工具Fiddler之外,还可以使用Mac中的常用代理工具 Charles Fiddler 与上文类似...二、审查元素查看页面输出 可以使用Chrome的设备模拟来查看页面 ?...除了审查元素查看日志之外,还可进行脚本的断点调试,查看网络请求等操作。...美中不足还是无法检测微信中的页面 在Windows中配置 在windows中配置相对麻烦了些,首先需要安装powershell(win10中已经自带),然后安装 scoop ,再安装这个插件 安装powershell3

    3.4K10

    WWV 2018年十大必看视频

    第一个参数是接收者,第二个在Objective-C消息中发送是选择器,下一个系列是传入的参数。通常,你可以使用po控制台中的命令用于打印调试描述并查看当前值。一点点类型转换可以提供帮助。...p是另一个LLDB命令,用于查看当前对象的调试表示。在暂停时使用“变量调试器”,可以查看和过滤属性以查找要检查的项目。您可以通过在属性上设置“观察尝试”来设置观察点。...使用View Debugger的检查器,您可以查找元素并查看当前值或确定它们是由父级还是超级视图设置的。您可以判断视图中的元素是否支持暗模式的暗变体,甚至是辅助功能。...Xcode 10包括使用并行化构建过程的能力,并且还为构建时间添加了详细的测量。他解释了如何处理项目和依赖项可以消除构建中的复杂性。...如果你有依赖循环,Xcode 10现在将报告并产生错误,在你的项目中可能存在循环依赖引用。 关于构建时间的测量也是新的。内联任务将显示个人时间。专业提示:查看“最近”过滤器以查看先前构建中的内容。

    2.8K20

    WWDC 2018年十大视频评论

    第一个参数是接收者,第二个在Objective-C消息中发送是选择器,下一个系列是传入的参数。通常,你可以使用po控制台中的命令用于打印调试描述并查看当前值。一点点类型转换可以提供帮助。...使用View Debugger的检查器,您可以查找元素并查看当前值或确定它们是由父级还是超级视图设置的。您可以判断视图中的元素是否支持暗模式的暗变体,甚至是辅助功能。...在Xcode WWDC 2018中建立更快 [视频链接] 本次会议充满了对更有效地构建项目的见解。David Owens介绍了Xcode 10的新功能,以减少构建时间。...Xcode 10包括使用并行化构建过程的能力,并且还为构建时间添加了详细的测量。他解释了如何处理项目和依赖项可以消除构建中的复杂性。...如果你有依赖循环,Xcode 10现在将报告并产生错误,在你的项目中可能存在循环依赖引用。 关于构建时间的测量也是新的。内联任务将显示个人时间。专业提示:查看“最近”过滤器以查看先前构建中的内容。

    3.4K20
    领券