xcode 调试技巧
2013-03-22 10:49
316 查看
IOS
调试技巧一:po
命令
po 为 print object
的缩写,显示对象的文本描述(显示从对象的 description
消息获得的字符串信息)。
(gdb)po dic
{
fruit=Apple;
car=BMW;
pc=IBM;
}
IOS
调试技巧二:print
命令
有点类似于格式化输出,可以输出对象的不同信息。
(gdb) print (int)[str retainCount]
$1 = 2
IOS
调试技巧三:help
命令
当你忘记某条gdb命令的语法时,可以使用 help
命令名 来获取帮助信息。如:help show
显示 show 命令的用法。
(gdb) help show
Generic command for showing things about the debugger.
List of show subcommands:
show annotate -- Show annotation_level
show architecture -- Show architecture of target
show args -- Show argument list to give program being debugged when it is started
show arm -- Various ARM-specific commands
show auto-raise-load-levels -- Show if GDB should raise the symbol loading level on all frames found in backtraces
show auto-solib-add -- Show autoloading of shared library symbols
show backtrace -- Show backtrace specific variables
show breakpoint -- Breakpoint specific settings
show can-use-hw-watchpoints -- Show debugger's willingness to use watchpoint hardware
show case-sensitive -- Show case sensitivity in name search
............
IOS
调试技巧四:在系统抛出异常处设置断点
有时候我们的程序不知道跑到哪个地方就 crash 了,而 crash
又很难重现。保守的做法是在系统抛出异常之前设置断点,具体来说是在 objc_exception_throw处设置断点。设置步骤为:首先在 XCode
按 CMD + 6,进入断点管理窗口;然后点击右下方的 +,增加新的 Symbolic Breakpoint,在 Symbol
一栏输入:objc_exception_throw,然后点击 done,完成。
这样在 Debug 模式下,如果程序即将抛出异常,就能在抛出异常处中断了。比如在前面的代码中,我让 [firstObjctcrashTest];
抛出异常。在 objc_exception_throw 处设置断点之后,程序就能在该代码处中断了,我们从而知道代码在什么地方出问题了。
调试技巧一:po
命令
po 为 print object
的缩写,显示对象的文本描述(显示从对象的 description
消息获得的字符串信息)。
(gdb)po dic
{
fruit=Apple;
car=BMW;
pc=IBM;
}
IOS
调试技巧二:print
命令
有点类似于格式化输出,可以输出对象的不同信息。
(gdb) print (int)[str retainCount]
$1 = 2
IOS
调试技巧三:help
命令
当你忘记某条gdb命令的语法时,可以使用 help
命令名 来获取帮助信息。如:help show
显示 show 命令的用法。
(gdb) help show
Generic command for showing things about the debugger.
List of show subcommands:
show annotate -- Show annotation_level
show architecture -- Show architecture of target
show args -- Show argument list to give program being debugged when it is started
show arm -- Various ARM-specific commands
show auto-raise-load-levels -- Show if GDB should raise the symbol loading level on all frames found in backtraces
show auto-solib-add -- Show autoloading of shared library symbols
show backtrace -- Show backtrace specific variables
show breakpoint -- Breakpoint specific settings
show can-use-hw-watchpoints -- Show debugger's willingness to use watchpoint hardware
show case-sensitive -- Show case sensitivity in name search
............
IOS
调试技巧四:在系统抛出异常处设置断点
有时候我们的程序不知道跑到哪个地方就 crash 了,而 crash
又很难重现。保守的做法是在系统抛出异常之前设置断点,具体来说是在 objc_exception_throw处设置断点。设置步骤为:首先在 XCode
按 CMD + 6,进入断点管理窗口;然后点击右下方的 +,增加新的 Symbolic Breakpoint,在 Symbol
一栏输入:objc_exception_throw,然后点击 done,完成。
这样在 Debug 模式下,如果程序即将抛出异常,就能在抛出异常处中断了。比如在前面的代码中,我让 [firstObjctcrashTest];
抛出异常。在 objc_exception_throw 处设置断点之后,程序就能在该代码处中断了,我们从而知道代码在什么地方出问题了。
相关文章推荐
- Xcode 调试技巧 --常用命令和断点
- XCode调试技巧
- XCode的一些调试技巧 控制台
- [Cocoa]XCode的一些调试技巧
- [Cocoa]XCode的一些调试技巧
- Xcode 调试技巧
- XCODE调试技巧收集
- Xcode调试技巧之二 crash之后的定位问题
- xcode 5中调试技巧
- Xcode调试技巧(断点和重构)
- XCode的一些调试技巧
- XCode调试中的输出技巧
- XCode的一些调试技巧
- XCode的一些调试技巧
- XCode的一些调试技巧
- XCode的一些调试技巧搜集
- xcode调试技巧 part-1
- xcode调试技巧(预处理器控制输出打印信息)
- 5个Xcode开发调试技巧
- Xcode调试技巧