XCode GDB常用命令使用

红米K70至尊版修复“nv损坏”主板电阻图示 mtk芯片工程固件刷写与步骤说明 💝💝💝红米K70至尊版 机型代码:rothko,搭载天玑9300+旗舰芯片.后置5000万像素索尼IMX906高动态OIS主摄,800万像素超广角镜头,200万像素微距镜头,前置2000万像素摄像头,也适用于以下型号的小米机型:2407FPN8EG,2407FPN8ER,XIG06,A402XM,2407FRK8EC。 💝💝💝通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此机型刷写工程固件预览界面 3💝💝💝------红米K 阅读详情

XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。

po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。

比如:

上图中,我使用 po 命令显示一个 NSDictionary 的内容。注意在左侧我们可以看到 dict 的一些信息:3 key/value pairs,显示该 dict 包含的数据量,而展开的信息显示 isa 层次体系(即class 和 metaclass结构关系)。我们可以右击左侧的 dict,选中“Print Description of "dict"”,则可以在控制台输出 dict 的详细信息:

  1. Printing description of dict:  
  2. <CFBasicHash 0x1001149e0 [0x7fff7e27ff40]>{type = immutable dict, count = 3,  
  3. entries =>  
  4.     0 : <CFString 0x100002458 [0x7fff7e27ff40]>{contents = "first"} = <CFString 0x100002438 [0x7fff7e27ff40]>{contents = "one"}  
  5.     1 : <CFString 0x100002498 [0x7fff7e27ff40]>{contents = "second"} = <CFString 0x100002478 [0x7fff7e27ff40]>{contents = "two"}  
  6.     2 : <CFString 0x1000024d8 [0x7fff7e27ff40]>{contents = "third"} = <CFString 0x1000024b8 [0x7fff7e27ff40]>{contents = "three"}  
  7. }  
  8. (gdb)   

print 命令:有点类似于格式化输出,可以输出对象的不同信息:

如:

  1. (gdb) print (char *)[[dict description] cStringUsingEncoding:4]  
  2. $1 = 0x1001159c0 "{\n    first = one;\n    second = two;\n    third = three;\n}"  
  3. (gdb) print (int)[dict retainCount]  
  4. $2 = 1  
  5. (gdb)   

注:4是 NSUTF8StringEncoding 的值。

info 命令:我们可以查看内存地址所在信息

比如 "info symbol 内存地址" 可以获取内存地址所在的 symbol 相关信息:

  1. (gdb) info symbol 0x00000001000017f7  
  2. main + 343 in section LC_SEGMENT.__TEXT.__text of /Users/LuoZhaohui/Library/Developer/Xcode/DerivedData/RunTimeSystem-anzdlhiwvlbizpfureuvenvmatnp/Build/Products/Debug/RunTimeSystem  
比如 " info line *内存地址" 可以获取内存地址所在的代码行相关信息:
  1. (gdb) info line *0x00000001000017f7  
  2. Line 62 of "/Users/LuoZhaohui/Documents/Study/RunTimeSystem/RunTimeSystem/main.m" starts at address 0x1000017f7 <main+343> and ends at 0x10000180a <main+362>.  

show 命令:显示 GDB 相关的信息。如:show version 显示GDB版本信息

  1. (gdb) show version  
  2. GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug  8 20:32:45 UTC 2011)  
  3. Copyright 2004 Free Software Foundation, Inc.  
  4. GDB is free software, covered by the GNU General Public License, and you are  
  5. welcome to change it and/or distribute copies of it under certain conditions.  
  6. Type "show copying" to see the conditions.  
  7. There is absolutely no warranty for GDB.  Type "show warranty" for details.  
  8. This GDB was configured as "x86_64-apple-darwin".  

help 命令:如果忘记某条命令的语法了,可以使用 help 命令名 来获取帮助信息。如:help info 显示 info 命令的用法。
  1. (gdb) help info  
  2. Generic command for showing things about the program being debugged.  
  3.   
  4. List of info subcommands:  
  5.   
  6. info address -- Describe where symbol SYM is stored  
  7. info all-registers -- List of all registers and their contents  
  8. info args -- Argument variables of current stack frame  
  9. info auxv -- Display the inferior's auxiliary vector  
  10. info breakpoints -- Status of user-settable breakpoints  
  11. info catch -- Exceptions that can be caught in the current stack frame  
  12. info checkpoints -- Help  
  13. info classes -- All Objective-C classes  
  14. ......  
  15.   
  16. Type "help info" followed by info subcommand name for full documentation.  
  17. Command name abbreviations are allowed if unambiguous.  
  18. (gdb)   

在系统抛出异常处设置断点

有时候我们的程序不知道跑到哪个地方就 crash 了,而 crash 又很难重现。保守的做法是在系统抛出异常之前设置断点,具体来说是在  objc_exception_throw处设置断点。设置步骤为:首先在 XCode 按 CMD + 6,进入断点管理窗口;然后点击右下方的 +,增加新的 Symbolic Breakpoint,在 Symbol 一栏输入: objc_exception_throw,然后点击 done,完成。 这样在 Debug 模式下,如果程序即将抛出异常,就能在抛出异常处中断了。比如在前面的代码中,我让 [firstObjct crashTest]; 抛出异常。在 objc_exception_throw 处设置断点之后,程序就能在该代码处中断了,我们从而知道代码在什么地方出问题了。

在 SAP 中,应收票据的收取、到期承兑、贴现均有标准操作路径与事务码,以下按业务场景给出操作步骤、T-code、会计分录(含附 / 不附追索权) 摘要:本文详细介绍了SAP系统中应收票据的全流程处理,包括收款(F-36)、到期承兑(F-34/F-20)和贴现(F-33)的标准操作。重点说明了不同业务场景下的事务码使用、操作步骤及对应的会计分录,特别区分了附追索权与不附追索权贴现的处理差异。同时提供了票据查询(FBL5N)和清账(F-32)的辅助功能指引,并汇总了各业务场景的核心会计分录,为财务人员提供了一套完整的SAP应收票据操作指南。(149字) 阅读详情

相关推荐

正弦波产生电路_文氏桥振荡

本文以文氏桥振荡为基础产生正弦波,介绍了原理、计算、应用时需要注意的一些点,并给出了实测可用的电路模板

白鹤忘机的博客 3万+

Xcode控制台调试常用命令

当遇到crash时,查看线程栈,只能看到栈帧的地址,使用imagelookup–address地址可以方便的定位到这个地址对应的代码行。命令可以打印出线程的堆栈信息,该信息比左侧的DebugNavigator看到的还要详细一些。在调试时,动态的修改变量的值,这在调试想要让应用执行异常路径(如执行某个else情况)很有用。命令类似,所以也是可以打印常量、变量,打印表达式返回的对象等。在控制台执行该命令,可以在不修改代码,不重新编译的情况下,修改界面上的视图。命令是打印所有线程的堆栈信息。......

培根芝士的专栏 2366

使用Kolla部署多节点Rocky版本OpenStack

openstack命令行客户端使用,post-deploy会在 /etc/kolla/目录下生成文件admin-openrc.sh。每次使用openstack命令时执行source /etc/kolla/admin-openrc.sh(manager节点执行)source /etc/kolla/admin-openrc.sh (将文件内容复制到/etc/profile中,即可一直生效)3.2.2 开始安装kolla-ansible,要带上--ignore-installed PyYAML,否则可能会报错。

gyc1206的博客 1926

[Cocoa]XCode的一些调试技巧

XCode的一些调试技巧 罗朝辉 (http://blog.youkuaiyun.com/kesalin/) CC 许可,转载请注明出处 XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。 po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。

wildfireli的专栏 904

从零构建:Trinamic API在STM32上的深度移植与TMC-IDE通信实战

本文详细介绍了如何从零开始在STM32平台上深度移植Trinamic API,并实现与TMC-IDE工具的稳定通信。内容涵盖SPI底层驱动定制、寄存器配置、高级功能实现及调试技巧,重点解析了TMC5160芯片的集成实践,帮助开发者构建可靠的嵌入式运动控制系统。

w1x2y3的博客 253

SE (3) -Transformers:三维旋转 - 平移等变注意力网络

E (3) 变换器,这是一种用于三维点云和图的自注意力模块变体,在连续三维旋转平移下具有等变性。注意力机制的计算量会随着点云规模的增大呈二次方增长,因此引入邻域的概念是很有必要的:每个点不再关注所有其他点,而只关注其最近的邻点。注意力机制此前已在图的领域中以内部注意力、自注意力、顶点注意力或图注意力等名称被引入 [17, 31, 32, 12, 26]。等变性意味着当输入数据发生旋转或平移时,模型的输出也会以相应的、可预测的方式进行变换,从而保证模型性能的稳定性和可预测性。

qq_49786473的博客 1479

iOS开发之Xcode常用调试(Debug)技巧

一、Xcode 调试技巧之:NSLog2、Xcode调试技巧之:LLDB三、Xcode调试技巧之:断点调试(breakpoint)3.1 Breakpoint(断点)调试(1) Name 和 Condition(2) Ignore(3) action6.Sound参考资料。

yunfeihope的博客 8496

微信中调起支付宝支付

微信中调用支付宝支付,首先我们知道微信是不能直接调用支付宝的,所以我们需要使用一个中间页提示用户在浏览器中打开,然后进行网页支付或打开app支付。以下为详细唤起支付宝的步骤、业务代码以及相关页面图。 如有问题欢迎评论留言,看到定回复哦^_^\(^o^)/~ 一、微信中唤起支付宝,有几个步骤: 1、中间页引导用户在浏览器中打开去唤起支付宝。 2、浏览器中打开支付宝或app中打开支付宝。 3...

han_calligrapher的博客 2万+

Xcode控制台“po“错误:表达式解析失败

error:type for self cannot be reconstructed: type for typename error: Couldn't realize Swift AST type of self.

HelloMagina的博客 1651

量化投资之工具篇一:Backtrader从入门到精通(1)-手把手教你零基础实现一个策略案例

Backtrader是重要的量化框架,本文记录学习该框架的笔记,内容主要基于Backtrader的网站指导文档。虽然该框架目前用于量化投资领域,但是可以作为数据处理的基本架构,进行改造后用于各种数据的处理,尤其适用于对原始数据处理完成后应用一定的策略进行预测以及可视化处理。 1、简介 Backtrader的特点,就是两点: 1、易于使用; 2、参见第1条。 那么如何使用Backtrader呢?比把大象装进冰箱复杂点,一共4步: 创建一个Cerebro引擎: 加入一个Strategy...

仓鼠王的博客 5万+

手把手教你学Simulink——基于Simulink的无感FOC(滑模观测器+PLL)实战

本文详细介绍了基于Simulink的无感FOC(滑模观测器+PLL)实现方法。主要内容包括:1)SMO+PLL原理精讲,阐述滑模观测器核心思想和PLL的作用;2)系统架构全景图展示;3)Simulink建模全流程,从基础FOC框架到SMO和PLL模块的实现;4)关键参数整定指南和工程实践要点;5)仿真结果分析及常见问题解决方案。该方法可有效替代机械传感器,降低成本并提高可靠性,适用于空调压缩机、电动汽车水泵等工业场景。文章还提供了详细的调试建议和动手实践指导。

MHD0815的博客 83

【iOS】Bug调试

在我们的编码过程中我们出现bug在所难免,有时找出这些bug十分耗费精力,调试可以帮我们找出程序中的bug,笔者特此撰写以下博客记录iOS中使用Xcode找出bug的高效方法。

weixin_72437555的博客 2189

深度强化学习 | 基于DQN实现Flappy Bird游戏与分析

在Flappy Bird中,玩家需要通过控制小鸟安全穿过随机长度的水管来得分。本文基于深度Q网络DQN来实现Flappy Bird游戏的自主探索与学习

FRIGIDWINTER的博客 5911

Xcode 中的GDB的命令。

Xcode的调试器为用户提供了一个GDB的界面,GDB是GNU组织的开放源代码调试器。您可以在Xcode的图形界面里做任何事情;但是,如果您需要 您可以在命令行里使用GDB的命令。  要在一个调试的任务里输入GDB命令行命令:  在工具栏里点击Console Draw

ch_soft的专栏 3603

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Xcode的调试之GDB

今天给大家分享一下调试技巧。希望对大家有帮助。 Xcode使用的调试器是LLDB,但是我们仍可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。

心虽远,情未变,乐依然。 1144

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Xcode下 gdb 调试命令

Xcode的调试器为用户提供了一个GDB的图形化界面,GDB是GNU组织的开放源代码调试器。您可以在Xcode的图形界面里做任何事情;但是,如果您需要您可以在命令行里使用GDB的命令,且gdb可以在终端运行,也可以在Xcode下的控制台(Console Drawer)中运行。要在一个调试的任务里输入GDB命令行命令:在工具栏里点击Console Drawer (控制台抽屉窗口)按钮打开控制台。您...

weixin_33757609的博客 113

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Xcode下GDB调试命令

Xcode的调试器为用户提供了一个GDB的界面,GDB是GNU组织的开放源代码调试器。您可以在Xcode的图形界面里做任何事情;但是,如果您需要 您可以在命令行里使用GDB的命令。 要在一个调试的任务里输入GDB命令行命令: 在工具栏里点击Console Drawer (控制台抽屉窗口)按钮打开控制台。您可以在控制台里查看Xcode调试器发送给GDB的命令,或者您可以直接在控制台里输入GDB命...

weixin_30491641的博客 84

Xcode调试技巧之一 GDB输出

转载:http://www.cocoachina.com/macdev/tips/2012/0515/4250.html XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。 po 命令 :为 print object 的缩写,显示对象的文本描述(显示从对象的 de XCode 内置GDB,我们可以在命令行中使用

半山枫叶的专栏 2682

XCode的一些调试技巧

XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。 po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。 比如: 上图中,我使用 po 命令显示一个 NSDictionary 的内容。注意在左侧我们可以看到 dict 的一些

shx_yi的专栏 818

Xcode调试技巧

XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。 po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。 比如: 上图中,我使用 po 命令显示一个 NSDictionary 的内容。注意在左侧我们可以看到 dict 的一些信息:3 key

 ideaOS^(BOOL coding) 815

Xcode 调试技巧

XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。 po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。 比如: 上图中,我使用 po 命令显示一个 NSDictionary 的内容。注意在左侧我们可以看到 dict 的一些信息:3

fhbystudy的专栏 667

转:Xcode下的GDB调试命令

Xcode的调试器为用户提供了一个GDB的图形化界面,GDB是GNU组织的开放源代码调试器。您可以在Xcode的图形界面里做任何事情;但是,如果您需要您可以在命令行里使用GDB的命令,且gdb可以在终端运行,也可以在Xcode下的控制台(Console Drawer)中运行。 要在一个调试的任务里输入GDB命令行命令: 在工具栏里点击Console Drawer (控制台抽屉窗口)按钮打开控制...

weixin_33883178的博客 80

Xcode 控制台 调试命令

原文地址:http://blog.youkuaiyun.com/likendsl/article/details/7576549 XCode4.0以后,编译器换成了LLVM 编译器 2.0 与以前相比,更加强大: 1.LLVM 编译器是下一带开源的编译技术.完全支持C, Objective-C, 和 C++. 2.LLVM 速度比 GCC快两倍,建立的程序也会运行的更快. 因为它更好的利用现代的芯片的结...

flover5724059的博客 1631

IOS之GDB调试命令

Xcode debug 命令 Xcode的调试器为用户提供了一个GDB的界面,GDB是GNU组织的开放源代码调试器。您可以在Xcode的图形界面里做任何事情;但是,如果您需要 您可以在命令行里使用GDB的命令。  要在一个调试的任务里输入GDB命令行命令:  在工具栏里点击Console Drawer (控制台抽屉窗口)按钮打开控制台。  您可以在控制台里查看Xcode调试

lhch的专栏 1256
上一篇: Xcode 精简版僵尸变量 处理EXC_BAD_ACCESS
下一篇: iOS内存泄露查处
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值