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 ...
随机推荐
- MariaDB数据库(二)
1. MariaDB数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行,尽量使用范围小的,而不用大的. 1.1 常用的数据类型 整数:int,bit ...
- STM32--TIM定时器时钟分割(疑难)
不太明白 (1) TIM_Perscaler来设置预分频系数: (2) TIM_ClockDivision来设置时钟分割(时钟分频因子): (3) TIM_C ...
- jquery中的全选,全不选
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- C#中的ComboBox实现只能选择不能输入,且下拉框中有默认值。
下拉框有DropDownStyle这一属性,把DropDownStyle类型选为DropDownList,则下拉框只能选择不能输入了.但是这时的下拉框是没有默认值的,即使在Text属性中输入默认值,也 ...
- Fiddler抓包-get与post请求
from:https://www.cnblogs.com/yoyoketang/p/6719717.html 本篇以博客园的请求为例,简单分析get与post数据有何不一样,以后也能分辨出哪些是get ...
- python3 时间复杂度
时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道.但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就 ...
- 【HTML/XML 4】实例分析HTML和XML的不同
导读:上回书说到,XML和HTML有着各自的不同点,综合表现在:1,HTML只是Web显示数据的通用方法,而XML提供了直接处理Web数据的通用方法.2,HTML着重描述Web页面的显示格式,而XML ...
- POJ-1061青蛙的约会,扩展欧几里德求逆元!
青蛙的约会 以前不止一次看过这个题,但都没有去补..好吧,现在慢慢来做. 友情提示 ...
- 一个SAM的样例
\[s=abcbacbcb\\ \begin{split} p \quad& fa \quad& Substrings \quad& Right \\ 1 \quad& ...
- Maven的scope依赖作用域说明
Maven的scope依赖作用域说明 1.test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖 2.compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去 3.provid ...