Xcode 断点使用心得

来源:互联网 发布:双翼免费邮件群发软件 编辑:程序博客网 时间:2024/05/17 22:15

Xcode 断点使用心得

首先,找到断点管理器。

Command + 6 跳转到如图位置:

Xcode 断点使用心得

 在它下方有:

Xcode 断点使用心得

+号增加断点,-号删除选中断点。勾符号显示当前有效断点,之后是搜索框。

点击加号出现如图菜单:

Xcode 断点使用心得

 

异常断点 (Exception breakpoint)

选中 “Add Exception Breakpoing”,出现菜单,如下图:

Xcode 断点使用心得

Exception:可选 all 所有语言引起的异常,objective-c语言c++语言引起的异常。

Break:可选onThrowonCatch

Action:可在程序断点执行后增加额外动作(Applescript,捕捉动画帧速,调试器命令(lldb),输入log记录,终端命令(shell,播放声音)

例如:Debugger Commond中可填入

po item 输出 item变量的值 

bt 表示输出 方法调用堆栈信息

 

符号断点(symbolic breakpoint)

选中 “Add Exception Breakpoing”,出现菜单,如下图:

Xcode 断点使用心得

Symbol填入你想检测消息发送实体的方法

(例如:-[NSException raise]-号是实例方法,+号是类方法)。

你也可以输入:

objc_exception_throw

malloc_error_break  //跟踪调试释放了2次的对象

 -[NSObject doesNotRecognizeSelector:]  //向某个object发送没有的方法

Module:填入是否在一个dylib中,默认不用填。

Conditon:填入条件,例如:

(BOOL)[item isEqualToString:@"test"]

前面的(BOOL)是必须的。否则console会提示类型不符号,导致条件不能生效。

意思是item(NSString)是test时停下。

同样可以写一下判断的方法比如用来确定类类型的isKindOfClass:,确定对象在继承体系中的位置的isMemberOfClass:,判断一个对象是否能接收某个特定消息的respondsToSelector:,判断一个对象是否遵循某个协议的conformsToProtocol:,以及提供方法实现地址的methodForSelector:。

Ignore:忽略几次。

Action:同上表示在执行后附加动作。

普通断点

右击在Xcode左侧行号上的断点,出现如图菜单:

Xcode 断点使用心得

之后编辑断点,如图:

Xcode 断点使用心得 

几个选项用法和前面一样。

提示:

1.使用Command + |(回车上的那个键)即可在当前行增加、删除断点。

2.在下图情况下(断点运行起来后)可以让鼠标在行号停留下

Xcode 断点使用心得

出现如图的小箭头

Xcode 断点使用心得

点击它,即可跳到这句(86行)。

 

原创粉丝点击