美文网首页
Xcode调试技巧之:LLDB

Xcode调试技巧之:LLDB

作者: MangoJ | 来源:发表于2018-12-07 10:37 被阅读8次

1、po:print object的缩写,表示显示对象的文本描述,如果对象不存在则打印nil

2、p:可以用来打印基本数据类型。

3、call:执行一段代码

call NSLog(@"%@",@"hello world");

4、expr:动态执行指定表达式

    expr i = 3.14
    输出:(int)$0 = 3.14

5、bt:打印当前线程堆栈信息
如果要打印所在线程堆栈信息,使用:bt all即可。

6、image:常用来寻找栈地址对应代码位置:

应用场景(数组越界)模拟代码:

NSArray *array = @[@"你",@"好",@"棒"];
NSLog(@"%@",array[3]);

错误信息如下:

*** Terminating app due to uncaught exception
'NSRangeException'
, reason:
'*** -[__NSArrayI objectAtIndex:]: index 3 beyond bounds [0 .. 2]'
*** First
throw
call stack:
(
0   CoreFoundation                      0x000000010579454b     __exceptionPreprocess + 172
1   libobjc.A.dylib                     0x00000001561f821e objc_exception_throw + 47
2   CoreFoundation                      0x00000001087d1eeb -[__NSArrayI objectAtIndex:] + 153
3   BGMultimediaDemo                    0x0000000104c25350 -[ViewController viewDidLoad] + 193
4   UIKit                               0x0000000105d5306d -[UIViewController loadViewIfRequired] + 1245
......
......
......
21  BGMultimediaDemo                    0x0000000104c35adf main + 111
22  libdyld.dylib                       0x000000010857264e start + 1
23  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating
with
uncaught exception of type NSException

可能出现错误的地址:0x0000000104c25350 我们可以使用下面命令来找出错误代码的位置:

image lookup --address 0x0000000104c25350

执行命令后输出结果如下:

Address: BGMultimediaDemo[0x0000000100001450]   (BGMultimediaDemo.__TEXT.__text + 184)
Summary: BGMultimediaDemo`-[ViewController viewDidLoad] + 188 at ViewController.m:15

从上面输出结果中可以看出,错误位置应该是ViewController.m文件中的15行

相关文章

  • xcode调试技巧

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

  • Swift 常用快捷键

    iOS开发之Xcode常用调试技巧总结 Xcode 常用快捷键 lldb技巧:

  • Xcode常用的调试技巧

    一、Xcode调试技巧之:LLDB 1、po:print object的缩写,表示显示对象的文本描述,如果对象不存...

  • iOS调试之LLDB

    iOS调试之LLDB Xcode内嵌了LLDB控制台,在Xcode代码编辑区的下方。shift + cmd + y...

  • Xcode调试技巧之:LLDB

    1、po:print object的缩写,表示显示对象的文本描述,如果对象不存在则打印nil 2、p:可以用来打印...

  • iOS开发之Xcode常用调试技巧总结

    iOS开发之Xcode常用调试技巧总结 iOS开发之Xcode常用调试技巧总结

  • iOS开发调试概览

    概述 我们都知道Xcode默认的调试器是LLDB(在此之前使用的是 GDB ),但是关于LLDB的debug技巧并...

  • LLDB调试命令

    LLDB简介 LLDB 是 XCode 内置的调试工具。从 Xcode5 开始,LLDB 已经取代 GDB,成为 ...

  • Xcode 调试技巧(LLDB)

    1.添加异常断点(Exception Breakpoint) 2.添加符号断点(Symbolic Breakpoi...

  • iOS实用小技巧

    iOS实用小技巧 Objective-C 1.让Xcode的控制台支持LLDB类型的打印 因为在Xcode断点调试...

网友评论

      本文标题:Xcode调试技巧之:LLDB

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