读书笔记,常用的着力GDB命令

by admin on 2019年8月15日

【读书笔记】iOS-Xcode知识-四线程,读书笔记ios-xcode

一,Xcode使用的调节和测验器是GDB。GDB是GNU项目标一有的,它能够在非常多不一的阳台上采纳。假设您愿意,能够透过命令行来运作它。GDB有着具体而微的文书档案系统,固然它的文书档案有些困难明白並且网络上流传着一些个版本的GDB教程。

 

二,三十二线程编制程序是一种同时管理多个试行流的编制程序格局,正确行使它是很狼狈的。平常,四线程编制程序所发生的错误特别劳碌找到。倘若有人报告您四线程编制程序很轻松,那么他们不是上圈套了正是策画向您推销什么东西。

 

读书笔记,常用的着力GDB命令。 

读书笔记,常用的着力GDB命令。参照他事他说加以考察资料:《Objective-C基础教程》

一,Xcode使用的调节和测量试验器是GDB。GDB是GNU项指标一片段,它能够在无数不等的平台上运用。如…

一,Xcode使用的调节和测量检验器是GDB。GDB是GNU项指标一有个别,它能够在非常的多比不上的阳台上运用。如若你愿意,能够因此命令行来运转它。GDB有着宏观的文书档案系统,纵然它的文书档案有个别吃力通晓何况网络上流传着好些个少个本子的GDB教程。

gdb不是德才兼备的,然而未有gdb却是万万不能够的。这里给大家简要介绍下iOS开拓中最主题的gdb命令。

gdb不是万能的,然则没有gdb却是万万无法的。这里给我们简要介绍下iOS开拓中最中央的gdb命令。

 

po

po是print-object的简写,可用来打字与印刷全部NSObject对象。使用比方如下:

home88一必发 1

(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>>

home88一必发 2

 

po

po是print-object的简写,可用来打字与印刷所有NSObject对象。使用比方如下:

home88一必发 3

(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>>

home88一必发 4

 

二,三十二线程编制程序是一种同时管理多少个试行流的编程情势,正确使用它是很不便的。平常,八线程编制程序所发出的荒谬极其难办找到。假若有人告诉你十六线程编制程序很轻巧,那么她们不是受骗了正是意欲向你推销什么事物。

home88一必发,p

p是print的简写,可以用来打字与印刷全部的简练类型,如int,
float,结构体等。使用举个例子如下:

home88一必发 5

(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

}

home88一必发 6

 

p

p是print的简写,能够用来打字与印刷全数的简易类型,如int,
float,结构体等。使用比如如下:

home88一必发 7

(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

}

home88一必发 8

 

 

call

call就是调用的意味。其实上述的po和p也可以有调用的效果。因而一般只在无需体现输出,或是艺术无重返值时利用call。使用举个例子如下:

home88一必发 9

(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]

home88一必发 10

 

**************************************************************************************************************

 

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 查看变理的数据类型

call

call便是调用的意趣。其实上述的po和p也许有调用的功用。因而一般只在没有需求出示输出,或是艺术无重临值时使用call。使用比方如下:

home88一必发 11

(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]

home88一必发 12

 

**************************************************************************************************************

 

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 查看变理的数据类型

 

仿效资料:《Objective-C基础教程》

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图