1.打印log調(diào)試
#ifdef DEBUG
# define DLog(fmt, ...) NSLog((@"[文件名:%s]\n""[函數(shù)名:%s]\n""[行號:%d] \n"fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
# define DLog(...);
#endif
2.斷言一般用于BUg調(diào)試
? int a=10;
? int b =0;
? NSAssert(b,@"B不等于0");
? ?NSAssert(str !=nil,@"字符串不能為空");?
3.斷點調(diào)試
? ? a.文件行斷點。執(zhí)行到特定文件的木一行時觸發(fā)巾乳,可以控制臺 po打印查看對象數(shù)值
? ? b.符號斷點撵溃。調(diào)用某一函數(shù)或方法時觸發(fā)绣否。相同函數(shù)或方法時泞当,都調(diào)用。
??????????Symbol?Breakpoint?OC奇颠,C败去,C++方法,函數(shù)都會觸發(fā)斷點大刊。C,C++函數(shù)只需要寫函數(shù)名三椿。
? ? c.異常斷點缺菌。產(chǎn)生異常時觸發(fā)。
?????????Exception Breakpoint?當程序拋出異常的時候會觸發(fā)斷點搜锰。部分錯誤會斷點在發(fā)生錯誤的代碼伴郁。數(shù)組 越界等會崩潰到main.m,不能定位到具體的代碼蛋叼,使用Exception Breakpoint就能定位到具體的代碼焊傅。
條件斷點:
4.收集Logs 分析crash日志
? ? View Device Logs 查看收集日志;
5.集成騰訊的Bugly收集bug日志狈涮,后臺可查看
參考:http://www.reibang.com/p/43964f1bb80f
????????????https://edu.csdn.net/course/play/916/13102