iOS bug调试技巧学习----breakpoint&condition

给断点添加条件

- (void)testCondition2
{
    NSArray *array = @[@"我们", @"一起", @"来", @"玩", @"abc123"];
    NSInteger i = arc4random() % array.count;
    NSString *str = array[i];
    NSLog(@"%zd, %@", i, str);
    NSLog(@"%zd, %@", i, str);
}

整数情况:

字符串情况下(有non-ASCII characters):

字符串情况下(无non-ASCII characters):

这个condition 后面可以有分号(‘;‘)或者没有.

特别是在: 字符串情况下(有non-ASCII characters), 可以参考:

http://stackoverflow.com/questions/17192505/error-in-breakpoint-condition

时间: 2024-08-11 03:34:19

iOS bug调试技巧学习----breakpoint&condition的相关文章

iOS各种调试技巧豪华套餐

转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints) 打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects) 进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试 结语 前言 最近博主临近毕业季

iOS开发调试技巧总结(持续更新中)

作者:乞力马扎罗的雪  原文 对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的调试,有同性也有个性.今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当然是强大的Xcode.首先说明下,Xcode已经为我们调试项目提供了极大的方便. [1.普通断点] 断点(Breakpoint)绝对是调试程序的第一大选择,也是掌握的基础技能.顾名

ios 高级调试技巧

LLDB https://github.com/nangege © 2015 objc中国本站由 @onevcat 创建,文章源自 objc.io,由 objc中国 项目组整理维护 你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThisThing); 或者跳过一个函数调用来简化程序的行为? NSNumber *n = @7; // 实际应该调用这个函数:Foo(); 或者短路一个逻辑检查? if (1 || theBoole

iOS开发——调试技巧OC篇&EXC_BAD_ACCESS无处不在

EXC_BAD_ACCESS无处不在 这种错误可以说是每次写代码都会遇到的,所以如果是你你会怎么解决呢,如果不知道那么请往下看 EXC_BAD_ACCESS, objc_msgSend, 此类报错往往来的莫明奇妙. 原因往往是内存过度释放导致, 即多写了release; 至于是哪里多写了release, 很难查知, 以下及为查询方法. 出现这种情况, 也就是对指针对象的过度释放,导致次指针为野指针报错, (注意:如:[nil release] 操作空指针是不会报错的,在java中是有问题, [野

iOS 开发调试技巧总结

1. http://blog.csdn.net/chenyufeng1991/article/details/50478656

iOS开发之Xcode常用调试技巧总结

两种最常见最普通的方法: 1.NSLog,最简单的方法,查看变结 中是否有值,有什么值,是不是自己需要的值,然后找到bug. 2.po命令,在程序进入断点处,在控制台中输入po 变量名,也可以像NSLog一样查看变量是否有值,有什么值. 今天主要介绍点高大上的方法. 一.Memory Graph Xcode8新增:Memory Graph解决闭包引用循环问题 这个时候就进入了断点模式,可以查看issue面板,注意选择右边Runtime: 有很多叹号说明就有问题了.看内存中object的名字,有一

IOS各种调试

IOS各种调试技巧豪华套餐 目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试结语 前言 最近博主临近毕业季,为了完美的写一篇毕业论文,真是:“锄禾日当午,汗滴禾下土”<—— 这句诗跟毕业我写毕

iOS copy 和 mutableCopy 学习

(参考 iOS 52个技巧学习心得笔记 第二章 对象 , 消息, 运行期)的对象部分 关于Copy  有个经典问题”大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢” 或者说”为什么 NSString 类型成员变量的修饰属性用 copy 而不是 strong (或 retain ) ?” 明显 第一句比第二句 严谨多了. @property (strong,nonatomic) NSString *strongString; & @property

转: windbg-跳过初始断点(调试技巧)

推荐:windbg 调试驱动设置断点 在对windows的驱动做双机调试时,总会需要在自己编写的驱动代码上设置断点. 1 这需要首先,在windbg上设置工作空间(workspace) 在这步 ntdll!LdrpDoDebuggerBreak+0x2c: 7757054e cc int 3 0:000> kv ChildEBP RetAddr Args to Child 0030f3c8 77550e00 7ffdf000 7ffd3000 775a714c ntdll!LdrpDoDebug