zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Xcode中使用数据(硬件)断点调试

调试xcode数据硬件 断点 使用
2023-09-14 08:56:50 时间

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! 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命令看一下已经设置的硬件断点:


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个.

如果遇到一些奇怪的和数据相关的问题,可以尝试使用数据断点来调试.硬件断点是一种强大的调试手段.


数据映射组件NewLife.XCode优势 数据映射组件XCode优势 XCode是一个超越了ORM范围的映射组件,除了对象到关系数据库的映射外,还有到网络和其它二进制形式等的映射,所以称之为数据映射组件。 相对于国内外其它ORM,XCode具有以下优势: 1,采用最好的分页算法,高效处理海量数据。
6,ORM组件XCode(撬动千万级数据) 有了前面的《动手》,基本上可以进行开发了。本篇我们来试试XCode的基本功功力如何,测试在单表一千万业务数据的环境下查询的速度,添删改等没什么可测试的。其实应该说是XCode开发模式的功力,XCode组件仅仅是处理分页而已,而XCode开发模式为高性能开发提供了更多的建议。