美文网首页
xcode 中lldb命令调试

xcode 中lldb命令调试

作者: 星空WU | 来源:发表于2021-01-07 10:45 被阅读0次

调出lldb命令窗口分:程序发生奔溃,会在下面窗口中显示lldb输入框

设置断点是为了模拟奔溃,当然你也可以故意写一个越界的数组测试

print命令

打印变量的值可以使用print命令,该命令如果打印的是简单类型,则会列出简单类型的类型和值。如果是对象,还会打印出对象指针地址,如下所示:

    

在输出结果中我们还能看到类似于$0,$1这样的符号,我们可以将其看作是指向对象的一个引用,我们在控制面板中可以直接使用这个符号来操作对应的对象,这些东西存在于LLDB的全名空间中,目的是为了辅助调试。

上面的print命令会打印出对象的很多信息,如果我们只想查看对象的值的信息,则可以使用po(print object的缩写)命令,如下所示:

    

expression

在开发中,我们经常会遇到这样一种情况:我们设置一个视图的背景颜色,运行后发现颜色不好看。嗯,好吧,在代码里面修改一下,再编译运行一下,嗯,还是不好看,然后再修改吧~~这样无形中浪费了我们大把的时间。在这种情况下,expression命令强大的功能就能体现出来了,它不仅会改变调试器中的值,还改变了程序中的实际值。我们先来看看实际效果,如下所示:

image

image命令的用法也挺多,首先可以用它来查看工程中使用的库,如下所示:


我们还可以用它来查找可执行文件或共享库的原始地址,这一点还是很有用的,当我们的程序崩溃时,我们可以使用这条命令来查找崩溃所在的具体位置,如下所示:

这段代码在运行后会抛出如下异常:

根据以上信息,我们可以判断崩溃位置是在main.m文件中,要想知道具体在哪一行,可以使用以下命令:

可以看到,最后定位到了main.m文件的第23行,正是我们代码所在的位置。

我们还可以使用image lookup命令来查看具体的类型,如下所示:

可以看到,输出结果中列出了NSURL的一些成员变量及属性信息。

image命令还有许多其它功能,具体可以参考Executable and Shared Library Query Commands

转载自: 南峰子的技术博客 (LLDB调试器使用简介)

相关文章

  • xcode调试技巧

    Xcode调试技巧之:LLDB Xcode调试技巧之:LLDB 1.输出视图层级关系(这是一个被隐藏的命令):po...

  • Xcode 使用 chisel 插件及 chisel 源码解读

    LLDB 是 Xcode 中自带的一个调试工具 ,chisel 是 facebook 开源的一个 LLDB 命令的...

  • 知识点-LLDB调试命令

    lldb是我们平时在打断点时候,打印面板出现的。 lldb是Xcode自带的调试工具,下面是常用的lldb调试命令...

  • LLDB(Low Lever Debug)

    LLDB 默认内置于Xcode中的动态调试工具。标准的LLDB提供了一组广泛的命令,旨在与老版本的GDB命令兼容,...

  • xcode 中lldb命令调试

    调出lldb命令窗口分:程序发生奔溃,会在下面窗口中显示lldb输入框 设置断点是为了模拟奔溃,当然你也可以故意写...

  • Xcode 调试之 LLDB

    LLDB 是 Xcode 中的默认调试器,支持调试 C、Objective-C、C++,用 LLDB 调试代码的好...

  • Help & Apropos

    LLDB是新一代高性能调试器,是Xcode的默认调试器,并且支持调试C/C++程序。LLDB命令繁多,下面开始接少...

  • LLDB命令

    lldb是我们平时在打断点时候,打印版出现的,它是Xcode自带的调试工具,下面是常用的lldb调试命令。 1、p...

  • LLDB调试

    一、LLDB 默认内置于Xcode中的动态调试工具。标准的 LLDB 提供了一组广泛的命令,旨在与老版本的 GDB...

  • LLDB杂谈

    LLDB 在Xcode5中,LLDB正式取代之前的GDB成为Xcode的标准调试器。和LLVM协同工作。LLDB兼...

网友评论

      本文标题:xcode 中lldb命令调试

      本文链接:https://www.haomeiwen.com/subject/ysaaoktx.html