IOS开发之----常用的基本GDB命令【转】
原文地址:http://blog.sina.com.cn/s/blog_71715bf801016d2y.html
gdb不是万能的,可是没有gdb却是万万不能的。这里给大家简单介绍下iOS开发中最基本的gdb命令。
po
po是print-object的简写,可用来打印所有NSObject对象。使用举例如下:
(gdb) po self <LauncherViewController: 0x552c570> (gdb) po [self view] <UIView: 0x544eb80; frame = ( ; ); autoresize = W+H; layer = <CALayer: 0x544ebb0>> (gdb) print-object [self view] <UIView: 0x544eb80; frame = ( ; ); autoresize = W+H; layer = <CALayer: 0x544ebb0>>
p
p是print的简写,可以用来打印所有的简单类型,如int, float,结构体等。使用举例如下:
(gdb) p self
$ = (LauncherViewController *) 0x552c570
(gdb) p [[self view] size]
Unable to call function “objc_msgSend” at 0x1e7e08c: no return type information available.
To call this function anyway, you can cast the return type explicitly (e.g. ‘print (float) fabs (3.0)’)
(gdb) p (CGSize)[[self view] size]
$ = {
width = ,
height =
}
(gdb) print (CGSize)[[self view] size]
$ = {
width = ,
height =
}
call
call即是调用的意思。其实上述的po和p也有调用的功能。因此一般只在不需要显示输出,或是方法无返回值时使用call。使用举例如下:
(gdb) call [[self view]sizeToFit] Unable to call function “objc_msgSend” at 0x1e7e08c: no return type information available. To call this function anyway, you can cast the return type explicitly (e.g. ‘print (float) fabs (3.0)’) (gdb) call (void)[[self view]sizeToFit] (gdb) call [[self view] size] Unable to call function “objc_msgSend” at 0x1e7e08c: no return type information available. To call this function anyway, you can cast the return type explicitly (e.g. ‘print (float) fabs (3.0)’) (gdb) call (void)[[self view] size]
**************************************************************************************************************
Xcode的调试器为用户提供了一个GDB的界面,GDB是GNU组织的开放源代码调试器。您可以在Xcode的图形界面里做任何事情;但是,如果您需要 您可以在命令行里使用GDB的命令。
要在一个调试的任务里输入GDB命令行命令:
在工具栏里点击Console Drawer (控制台抽屉窗口)按钮打开控制台。
您可以在控制台里查看Xcode调试器发送给GDB的命令,或者您可以直接在控制台里输入GDB命令。在控制台窗口里点击然后在gdb提示符后面 输入命令。
| break NUM | 在指定的行上设置断点。 |
| bt | 显示所有的调用栈帧。该命令可用来显示函数的调用顺序。 |
| clear | 删除设置在特定源文件、特定行上的断点。其用法为:clear FILENAME:NUM。 |
| continue | 继续执行正在调试的程序。该命令用在程序由于处理信号或断点而导致停止运行时。 |
| display EXPR | 每次程序停止后显示表达式的值。表达式由程序定义的变量组成。 |
| file FILE | 装载指定的可执行文件进行调试。 |
| help NAME | 显示指定命令的帮助信息。 |
| info break | 显示当前断点清单,包括到达断点处的次数等。 |
| info files | 显示被调试文件的详细信息。 |
| info func | 显示所有的函数名称。 |
| info local | 显示当函数中的局部变量信息。 |
| info prog | 显示被调试程序的执行状态。 |
| info var | 显示所有的全局和静态变量名称。 |
| kill | 终止正被调试的程序。 |
| list | 显示源代码段。 |
| make | 在不退出gdb的情况下运行make工具。 |
| next | 在不单步执行进入其他函数的情况下,向前执行一行源代码。 |
| print EXPR | 显示表达式EXPR的值。 |
| print- object | 打印一个对象 |
| print (int) name | 打印一个类型 |
| print- object [artist description] | 调用一个函数 |
| set artist = @"test" | 设置变量值 |
| whatis | 查看变理的数据类型 |
IOS开发之----常用的基本GDB命令【转】的更多相关文章
- IOS开发--常用的基本GDB命令
gdb不是万能的,可是没有gdb却是万万不能的.这里给大家简单介绍下iOS开发中最基本的gdb命令. po po是print-object的简写,可用来打印所有NSObject对象.使用举例如下: ( ...
- iOS开发API常用英语名词
iOS开发API常用英语名词 0. indicating 决定 1.in order to 以便 2.rectangle bounds 矩形尺寸 3.applied 应用 4.entirety 全部 ...
- iOS开发之----常用函数和常数
介绍一下Objective-c常用的函数,常数变量 算术函数 [算术函数] 函数名 说明 int rand() 随机数生成.(例)srand(time(nil)); //随机数初期化int val = ...
- iOS开发之常用第三方框架(下载地址,使用方法,总结)
iOS开发之常用第三方框架(下载地址,使用方法,总结) 说句实话,自学了这么久iOS,如果说我不知道的但是又基本上都摸遍了iOS相关知识,但是每次做项目的时候,遇到难一点的地方或者没试过的东西就闷了. ...
- Android源码浅析(四)——我在Android开发中常用到的adb命令,Linux命令,源码编译命令
Android源码浅析(四)--我在Android开发中常用到的adb命令,Linux命令,源码编译命令 我自己平时开发的时候积累的一些命令,希望对你有所帮助 adb是什么?: adb的全称为Andr ...
- iOS开发中常用的数学函数
iOS开发中常用的数学函数 /*---- 常用数学公式 ----*/ //指数运算 3^2 3^3 NSLog(,)); //result 9 NSLog(,)); //result 27 //开平方 ...
- iOS 开发设计常用软件及工具整理
1, xCode 2, AppCode 3, Skech 原型设计软件 4, Hype 动画设计工具 5, fontawsome 免费图表 6, Prepo icon, images.catlog 生 ...
- iOS开发(Objective-C)常用库索引
code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例 cocoacontrols.com/ 英文版本的lib收集 objclibs.com/ 精品lib的收集网站 h ...
- ios开发中常用的也是最基本的mysql语句
MySQL常用基本SQL语句小结——(转) sql语言不经常用,每次再用都隔好久的时间,以致最基本的都想不起来了,只好转一篇记着= - 找的时候方便 SQL分类: DDL—数据定义语言(CREATE ...
随机推荐
- react深入 - 手写实现react-redux api
简介:简单实现react-redux基础api react-redux api回顾 <Provider store>把store放在context里,所有子组件可以直接拿到store数据 ...
- centos7下安装Python3.7(与python2共存)
2019-01-22 22:50:05 centos7默认安装的是python2.7,然而python2基本上要淘汰了,所以有必要安装最新的python3 python,g++这些工具一般安装在/ ...
- HDU 2196 Computer(求树上每个点的最长距离)
题意: 这题想了挺久的, 参考了kuangbin大神的代码:https://www.cnblogs.com/kuangbin/archive/2012/08/28/2659915.html 给出树上边 ...
- Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份
概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好 ...
- String类型根据逗号分隔转为list
String ids = pd.getString("IDS");//从pd里取出字符串 List idList = Arrays.asList(ids.split(", ...
- zoj 1109 Language of FatMouse(map)
Language of FatMouse Time Limit: 10 Seconds Memory Limit: 32768 KB We all know that FatMouse do ...
- 实体类与实体DTO类之间的转换
实体类与实体DTO类之间的转换 实体类与实体DTO类之间的转换 1.通过使用第三方序列化反序列化工具Newtonsoft.Json 2.通过反射实现 3.通过表达式目录树加字典缓存实现 4. 通过表达 ...
- 【HDOJ6301】Distinct Values(贪心,set)
题意:给定一个n个数的数列与m个区间,要求每个区间内的数字互不相同,求使得数列字典序最小的方案 n<=1e5 思路: #include<cstdio> #include<vec ...
- 深入理解计算机操作系统——12章:多进程,IO多路复用
三种并行的应用程序: 1. 基于进程的并发编程: 2. 基于IO多路复用的并发: 3. 基于线程的并发编程: 12.1 基于进程的并发编程 进程的优劣: (1)进程间共享文件表,但不共享用户地址空间, ...
- msp430入门编程36
msp430中C语言的可移植--面向接口实现