xcode 断点调试
2013-10-14 18:15
106 查看
lldb 常用命令
po(print-object)+ 对象
p(print)+ 基本数据类型 int之类
bt 打印最后一次调用堆栈
expr 动态修改变量
你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模式后,使用expr命令即可在运行时修改变量的值。
假如有一个loginWithUsername:方法,需要两个参数:username,password。
首先设置好断点,如下图所示:
运行app,进入断点模式后,在(lldb)后输入
控制台会返回以下信息
现在跳出断点,执行断点之后的两条输出语句,控制台会有以下输出
看到看吧,我们在运行时修改了变量的值,事情还可以变的更简单一些,我们可以编辑断点,让它自动填充需要的修改的变量的值,并且可以选择在此断点处不进入断点模式,仅仅修改指定变量的值,然后自动执行后续代码。
右击断点选择“Edit Breakpoint...”(或者按住cmd+option,单击断点),然后如下图所示设置断点
注意选中了最后一行(“Automatically continue after evaluating”)的选择框,这就保证运行到这个断点的时,填充变量的值,然后继续运行,并不在此处断点进入调试模式。
运行app,你会得到和上述手动设置变量的值一样的输出。
接下来单击断点,使其处于禁用状态,现在箭头的颜色应该是浅蓝色的,重新运行app,你会发现username和password的值没有在运行时被改变了。
另外断点设置中 勾选automatically continue after evaluating可以在断点出做完相应的事情而不停住(例如使用lldb命令输出或者修改变量值)
po(print-object)+ 对象
p(print)+ 基本数据类型 int之类
bt 打印最后一次调用堆栈
expr 动态修改变量
技巧一:运行时修改变量的值
你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模式后,使用expr命令即可在运行时修改变量的值。假如有一个loginWithUsername:方法,需要两个参数:username,password。
首先设置好断点,如下图所示:
运行app,进入断点模式后,在(lldb)后输入
1 | expr username = @ "username" |
2 | expr password = @ "badpassword" |
1 | (NSString *) $0 = 0x3d3504c4 @ "username" |
2 | (NSString *) $1 = 0x1d18ef60 @ "badpassword" |
1 | (0x1c59aae0) A line for the breakpoint |
2 | (0x1c59aae0) Username and Password after: username:badpassword |
右击断点选择“Edit Breakpoint...”(或者按住cmd+option,单击断点),然后如下图所示设置断点
注意选中了最后一行(“Automatically continue after evaluating”)的选择框,这就保证运行到这个断点的时,填充变量的值,然后继续运行,并不在此处断点进入调试模式。
运行app,你会得到和上述手动设置变量的值一样的输出。
接下来单击断点,使其处于禁用状态,现在箭头的颜色应该是浅蓝色的,重新运行app,你会发现username和password的值没有在运行时被改变了。
另外断点设置中 勾选automatically continue after evaluating可以在断点出做完相应的事情而不停住(例如使用lldb命令输出或者修改变量值)
相关文章推荐
- Xcode调试断点不停止解决方案!(转)
- xcode 断点调试
- XCode调试 设置全局断点并快速定位问题代码所在行
- xcode解决断点调试无效问题
- Xcode断点调试
- 使用Xcode断点调试ffmpeg
- Xcode开发调试几个技巧—断点调试
- iOS开发之Xcode常用调试技巧总结 断点高级
- Xcode断点调试
- Swift 代码调试-善用XCode工具(UI调试,五种断点,预览UIImage...)
- xcode调试(全局断点)
- XCode调试技巧–设置全局断点快速定位问题代码所在行
- swift OC混编工程,xcode断点调试,控制台左侧只有变量名称不显示值,右侧输入po命令,打印除一堆提示
- xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter
- [Xcode]_[解决Xcode设置断点,调试窗口出现反汇编代码的异常情况]
- XCode调试 设置全局断点并快速定位问题代码所在行
- iOS断点调试(xcode )
- 解决Xcode断点调试值都为nil的问题
- Xcode断点调试变量都变成nil
- Xcode 断点调试