iOS调试问题

2018-03-27  本文已影响10人  你也想起舞吧

程序调试

调用堆栈(call stack)

含义:
     假设在我们程序运行的过程中,有3个函数,func1,func2,func3,且func1 调用 func2,func2调用fun3.所以在 func3 运行的过程中,可以从线程中了解到调用它的那几个函数。从先后顺序来说,func3,func2,func1 呈现出“堆栈”的特征,最后被调用的函数排在最上方。
作用:
     1)“调用堆栈”窗口可以查看当前堆栈上的函数或过程调用。
     2)“调用堆栈”窗口显示每个函数的名称和编写它所用的编程语言。函数或过程名可能伴随有可选信息,如模块名、行号、字节偏移量以及参数的名称、类型和值。 可以打开或关闭这些可选信息的显示。

--

实战演练

.m文件中:

#import "ViewController.h"

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [self demo];
}

- (void)demo {
    NSString *str = nil;
    NSArray *array = @[@"123",str];
    NSLog(@"%@",array);
}

@end

运行结果(Xcode模拟器)

01.png
在模拟器中,Xcode可以给出“调试堆栈”信息,那么对于真机,推荐使用“ 腾讯bugly”来获取信息。操作流程
效果图
02.png
上一篇 下一篇

猜你喜欢

热点阅读