IOS开发--常用的基本GDB命令
gdb不是万能的,可是没有gdb却是万万不能的。这里给大家简单介绍下iOS开发中最基本的gdb命令。
po
po是print-object的简写,可用来打印所有NSObject对象。使用举例如下:

(gdb) po self <LauncherViewController: 0x552c570> (gdb) po [self view] <UIView: 0x544eb80; frame = (0 0; 320 411); autoresize = W+H; layer = <CALayer: 0x544ebb0>> (gdb) print-object [self view] <UIView: 0x544eb80; frame = (0 0; 320 411); autoresize = W+H; layer = <CALayer: 0x544ebb0>>

p
p是print的简写,可以用来打印所有的简单类型,如int, float,结构体等。使用举例如下:

(gdb) p self
$1 = (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]
$1 = {
width = 320,
height = 411
}
(gdb) print (CGSize)[[self view] size]
$2 = {
width = 320,
height = 411
}

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开发常用第三方库
UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...
- iOS开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...
- IOS开发常用设计模式
IOS开发常用设计模式 说起设计模式,感觉自己把握不了笔头,所以单拿出iOS开发中的几种常用设计模式谈一下. 单例模式(Singleton) 概念:整个应用或系统只能有该类的一个实例 在iOS开发我们 ...
- iOS开发--常用技巧 (MJRefresh详解)
iOS开发--常用技巧 (MJRefresh详解) https://github.com/CoderMJLee/MJRefresh 下拉刷新01-默认 self.tableView.head ...
- 开发常用Git/Linux/idea命令快捷键总结(持续更新)
在开发过程中,会使用越来越多的命令,或快捷键,来帮助我们提高工作效率.本文记录了我在平时积累的常用命令,分享给大家. git命令 基本命令 set LESSCHARSET=utf-8 --idea T ...
- IOS开发之----常用的基本GDB命令【转】
原文地址:http://blog.sina.com.cn/s/blog_71715bf801016d2y.html gdb不是万能的,可是没有gdb却是万万不能的.这里给大家简单介绍下iOS开发中最基 ...
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)--(转)
图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下 ...
- iOS 开发常用的调试工具
前言 最近博主临近毕业季,为了完美的写一篇毕业论文,真是:“锄禾日当午,汗滴禾下土”<—— 这句诗跟毕业我写毕业论文没任何一毛钱关系,我就是突然想吟湿了.不过博主作为网络工程专业的好青年,曾经的 ...
- IOS开发--常用工具类收集整理(Objective-C)(持续更新)
前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...
随机推荐
- Java -- 获取当前日期、当月月初日期、月末日期
Learn From:http://blog.csdn.net/sunhuwh/article/details/39161323 public class CalendarTest { public ...
- Hadoop入门进阶课程5--MapReduce原理及操作
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan ...
- .NET ORM 哪家强
ORM到底哪家强? 很多人都想知道这个问题,自已也没测试过,只能道听途说. 闲的无聊就将几个ORM拿出来比一比,假如怀疑测试代码有问题可以将它下载下来慢慢研究. 参赛ORM 1.SqlSugar:是一 ...
- Win10 + VS2015 下编译 Qt5.6.0
近期由于另外一个项目需要用 vs2015 ,于是把 Qt 也升级到了 5.6.0 .由于项目需要兼容 Windows xp ,所以需要自己编译 Qt .这里大致整理一下编译的过程. 安装 Active ...
- Sprint Three 回顾与总结&发表评论&团队贡献分
● 一.回顾与总结 (1)回顾 燃尽图: Sprint计划-流程图: milestones完成情况如下: (2)总结 从sprint one到three,我们团队配合十分默契,互相帮助,虽然遇到了不少 ...
- HNU 13308 Help cupid
Help cupid Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13308&c ...
- 译:Datetime类型的扩展
译文出处:http://www.codeproject.com/Articles/870939/Datetime-Extensions 本文主要针对System.DateTime类型的一系列扩展.包括 ...
- SqlDataReader、SqlDataAdapter與SqlCommand的 区别
1.SqlDataReader,在线应用,需要conn.open(),使用完之后要关闭. SqlConnection conn = new SqlConnection(connStr); //conn ...
- sql server 2008还原数据库,出现缺少介质问题
我在sql server2008中备份数据库时,新增了一个自己建立的数据库,备份成功后,在去别的电脑总是还原数据 还原不了,最后在网上找到了解决方案
- (旧)子数涵数·C语言——指针
一.什么是指针? 指针在百度的解释:是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值. 也就是说,指针是用于指向某一内存单元. 简而化之,指针便是地 ...