Xcode中使用数据(硬件)断点调试
2016-02-09 08:42
281 查看
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)
在Xcode的GUI界面中只能添加软断点,而无法增加硬断点.但是在dbg窗口中我们可以使用llvm的watchpoint指令添加硬件断点,也就是所谓的数据断点.
我们可以给类的实例变量设置硬件断点,可以选择监视类型是read,write或者是read_write.
下面举一个例子:比如我们的target对象中包括一个PlayerData对象,其中一个成员变量为NSInteger型的hp和mp实例变量.我们来对mp设置读断点,对hp设置读写断点,指令如下:
watchpoint s variable -w read target->_playerData->_mp watchpoint s variable -w read_write target->_playerData->_hp
我们可以用list命令看一下已经设置的硬件断点:
(lldb) watchpoint list Number of supported hardware watchpoints: 4 Current watchpoints: Watchpoint 2: addr = 0x7fca87d31ac0 size = 8 state = enabled type = rw declare @ '/Users/apple/src/xcode_src/iOS/goodPrj/SoulOfPanda.spritebuilder/Source/BattleStage.m:209' watchpoint spec = 'target->_playerData->_hp' new value: 10 Watchpoint 3: addr = 0x7fca87d31ac8 size = 8 state = enabled type = r declare @ '/Users/apple/src/xcode_src/iOS/goodPrj/SoulOfPanda.spritebuilder/Source/BattleStage.m:209' watchpoint spec = 'target->_playerData->_mp' new value: 15
除了显示当前存在的硬件断点之外,可以看到该命令也显示出系统支持最大的硬件断点数为4个.
如果遇到一些奇怪的和数据相关的问题,可以尝试使用数据断点来调试.硬件断点是一种强大的调试手段.
相关文章推荐
- Xcode中使用数据(硬件)断点调试
- Xcode中使用数据(硬件)断点调试
- linux ln 命令使用参数详解(ln -s 软链接)
- Ubuntu 14.04LTS Gnome GUI初体验及163更新源配制
- android优化原理
- 免费才最贵:揭露「免费」Windows 10 的真实成本
- [转]fastjson常见问题
- python学习笔记-Day4(1)
- java抽象类的创建
- 简单几招教你学会ROOT乐视盒子 打开乐视盒子蓝牙
- Unity实战开发之《代码汪的第一步》
- PriorityQueue源码及用法
- C++ 引用传递
- SpatialHadoop中空间索引系列之(七)RTree/R+Tree的实现
- 乐视盒子如何无线安装APK 电脑文件共享
- [LeetCode]141. Linked List Cycle
- 机器视觉全球顶级实验室
- *[LeetCode]332. Reconstruct Itinerary
- Transact-SQL编程规范
- 278. First Bad Version