iOS Bug 调试

1.打印log调试

#ifdef DEBUG

# define DLog(fmt, ...) NSLog((@"[文件名:%s]\n""[函数名:%s]\n""[行号:%d] \n"fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);

#else

# define DLog(...);

#endif

2.断言一般用于BUg调试

  int a=10;

  int b =0;

  NSAssert(b,@"B不等于0");

   NSAssert(str !=nil,@"字符串不能为空"); 

3.断点调试

    a.文件行断点。执行到特定文件的木一行时触发,可以控制台 po打印查看对象数值

    b.符号断点。调用某一函数或方法时触发。相同函数或方法时,都调用。

          Symbol Breakpoint OC,C,C++方法,函数都会触发断点。C,C++函数只需要写函数名。

iOS Bug 调试_第1张图片

    c.异常断点。产生异常时触发。

         Exception Breakpoint 当程序抛出异常的时候会触发断点。部分错误会断点在发生错误的代码。数组 越界等会崩溃到main.m,不能定位到具体的代码,使用Exception Breakpoint就能定位到具体的代码。

条件断点:

iOS Bug 调试_第2张图片
iOS Bug 调试_第3张图片

4.收集Logs 分析crash日志

    View Device Logs 查看收集日志;


iOS Bug 调试_第4张图片


5.集成腾讯的Bugly收集bug日志,后台可查看


iOS Bug 调试_第5张图片


参考:https://www.jianshu.com/p/43964f1bb80f

            https://edu.csdn.net/course/play/916/13102

你可能感兴趣的:(iOS Bug 调试)