技术的乐趣在于分享,欢迎多多交流,多多沟通。
全部博文(877)
分类: iOS平台
2015-10-09 23:23:38
n表示要显示的内存单元的个数
-----------------------------------------
f表示显示方式, 可取如下值:会显示self指针地址内容,16个字节,16进制
-------------------------------------------
-------------------------------------------
用 Xcode Debug 时可以用以下方法查看全局变量:
Objective-C 直接在console(控制台-gdb)输入 po+变量名
开发程序时,加了断点进行debug但发现不知到怎样查看变量的内容。用惯eclipse了。看到控制台上显示GDB,就查了下GDB的命令,方便以后使用
clear FILENAME:NUM 删除断点。
continue 继续执行直到下一个断点,也可以写做cont
help NAME 帮助
break NUM 在某行设置断点
kill 终止被调试的程序
print-object 显示对象的内容,也可以写做po
whatis 查看对象的数据类型
next 向前执行一行代码
step 进入一个方法
finish 跳出一个方法
以上命令可以在xcode的控制台进行输入
在GDB窗口中使用po就可以查看变量.(po = print object)
1)查看String 或其它变量。
po 变量名
2)查看某个Property。比如要查看item变量的name属性。
po [item name] 注意,po item.name是不工作的。
3)查看数组
po [myArray objectAtIndex:index]
/******************************************************我是分割线***********************************************/
在Xcode中,Debug时,不能像eclipse ,或VS那些集成开发那样,能直接查看变量的值。那怎么在调试的时候查看XCode的变量呢?
有一些方法的。
1、新建一个Single View App
在viewDidLoad里添加些代码:Command+R调试运行,在 Debug Console 上lldb上输入po dic回车,显示如下:
这就把词典内容打印出来了。
(lldb) po label
(UILabel *) $3 = 0x06a8bdd0 <UILabel: 0x6a8bdd0; frame = (20 40; 250 60); text = 'rongfzh'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x6a8be90>>
label的信息也打印出来了。
3、print命令
print (char*)[[dic description] cString]
(char *) $4 = 0x06d79760 "{\n age = 28;\n key1 = value1;\n name = rongfzh;\n}"
打印对象的retainCount,但对象被回收
(lldb) print (int)[label retainCount]
(int) $2 = 1
/*******************************************************************************************************************/