iOS常见问题【debug】 gdb_技术成长笔记_新浪博客


1.po(print Object)的bug调试
  1.    whatis 你的对象名字: 打印对象类型
  2. continue :跳到下一个断点
2.显示/隐藏 控制台
 shift+command+Y
3.lldb和gdb之间的切换
 p'roduct->scheme->edit Scheme->Run xxx.app->Info->Debugger
4. 改变某个值
 set str=@"chang value is"

5. Certificate identity 'iPhone Developer: Xia Sheng (N93AWUAQJ9)' appears more than once in the keychain. The codesign tool requires there only be one.

    解决:1. 在 Origanizer > Provisioning Profiles > 把 重复的删除掉   (或者重新导入  右下角 Refresh更新).    在钥匙串中删除多余重复的证书  

         2. 删除手机上的应用

         3. Xcode  >  Preferences  > Locations  点击输入框下 小箭头 > DerivedData (编译文件清空) ||> Archives (clean)   

6.info 命令:我们可以查看内存地址所在信息,比如 "info symbol 内存地址" 可以获取内存地址所在的 symbol 相关信息;比如 "info line *内存地址" 可以获取内存地址所在的代码行相关信息。

7.backtrace 在栈中查看信息(注意用gdb) 

直接看代码 省得写了,

 (gdb)bt

iOS常见问题【debug】 <wbr>gdb

iOS常见问题【debug】 <wbr>gdb

iOS常见问题【debug】 <wbr>gdb

iOS常见问题【debug】 <wbr>gdb

iOS常见问题【debug】 <wbr>gdb

iOS常见问题【debug】 <wbr>gdb

iOS常见问题【debug】 <wbr>gdb

<(7) 看法正更新……>

8.反汇编 disassemble

9.  NSAssert(NO, @"RTDebug__Line__  ");

10. 自定义NSLog

#ifndef __OPTIMIZE__

#define RT(...) NSLog(__VA_ARGS__)

#else

#define NSLog(...){}

#endif


#define IOS_DEBUG

#ifdef IOS_DEBUG

#define log(...) NSLog(__VA_ARGS__)

#endif


#ifdef _FOR_DEBUG_

- (BOOL)respondsToSelector:(SEL)rtSelector

{

    NSString *className = NSStringFromClass([self.newsTitle class]) ;

    NSLog(@"%@ rt-->  %s",className,[NSStringFromSelector(rtSelector)UTF8String]);

    return [super respondsToSelector:rtSelector];

}

#endif

======================== zhece.com更新中 ..=======================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值