`
luliangok
  • 浏览: 816334 次
文章分类
社区版块
存档分类
最新评论

[Cocoa]XCode的一些调试技巧

 
阅读更多

XCode的一些调试技巧

罗朝辉 (http://blog.csdn.net/kesalin/)

CC 许可,转载请注明出处

XCode 内置GDB,我们可以在命令行中使用 GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。

po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。

比如:

上图中,我使用 po 命令显示一个 NSDictionary 的内容。注意在左侧我们可以看到 dict 的一些信息:3 key/value pairs,显示该 dict 包含的数据量,而展开的信息显示 isa 层次体系(即class 和 metaclass结构关系)。我们可以右击左侧的 dict,选中“Print Description of "dict"”,则可以在控制台输出 dict 的详细信息:


print 命令:有点类似于格式化输出,可以输出对象的不同信息:

如:

注:4是 NSUTF8StringEncoding 的值。

info 命令:我们可以查看内存地址所在信息

比如 "info symbol 内存地址" 可以获取内存地址所在的 symbol 相关信息:

比如 "info line *内存地址" 可以获取内存地址所在的代码行相关信息:

show 命令:显示 GDB 相关的信息。如:show version 显示GDB版本信息


help 命令:如果忘记某条命令的语法了,可以使用 help 命令名 来获取帮助信息。如:help info 显示 info 命令的用法。

在系统抛出异常处设置断点

有时候我们的程序不知道跑到哪个地方就 crash 了,而 crash 又很难重现。保守的做法是在系统抛出异常之前设置断点,具体来说是在objc_exception_throw处设置断点。设置步骤为:首先在 XCode 按 CMD + 6,进入断点管理窗口;然后点击右下方的 +,增加新的 Symbolic Breakpoint,在 Symbol 一栏输入:objc_exception_throw,然后点击 done,完成。这样在 Debug 模式下,如果程序即将抛出异常,就能在抛出异常处中断了。比如在前面的代码中,我让[firstObjctcrashTest]; 抛出异常。在 objc_exception_throw 处设置断点之后,程序就能在该代码处中断了,我们从而知道代码在什么地方出问题了。


分享到:
评论

相关推荐

    Professional Xcode 3

    6. **调试技巧**:运用Xcode的调试器进行代码调试,包括断点、变量观察、步进执行和内存检查。 7. **测试与性能分析**:了解单元测试、集成测试的实施,以及使用Instruments进行性能分析,识别并优化性能瓶颈。 8....

    xcode培训教材

    除此之外,Xcode还支持Cocoa Touch(iOS)和Cocoa(macOS)框架,这些框架提供了大量的预定义组件和服务,使得开发者可以快速构建功能丰富的应用。你还将学习到如何使用App Store Connect来提交应用,进行版本管理,...

    苹果开发之Cocoa编程原书第4版

    9. **测试与调试**:Cocoa开发包括Xcode内置的测试框架和调试工具,帮助开发者确保代码的质量和稳定性。书中可能涵盖如何编写单元测试、集成测试以及使用Xcode的调试功能。 10. **发布与分发**:最后,你将学习如何...

    Learn Cocoa on the Mac, 2nd Edition

    - **调试技巧**:分享了一些调试技巧,帮助开发者快速定位和解决问题。 #### 在Cocoa中绘图 本章介绍了如何使用Cocoa框架来进行基本的绘图操作。 - **绘图基础**:解释了如何使用Cocoa API来绘制线条、形状等基本...

    Cocoa.Programming.for.Mac.OS.X.4th.Edition PDF正式版

    本书将分享一些实用的调试技巧,并指导如何优化应用程序的性能。 9. 高级编程技巧:随着对基础的掌握,本书还会介绍一些高级编程技巧,例如多线程编程、自定义类和继承等,帮助开发者在Cocoa环境中更高效地编写代码...

    xcode工具开发教程

    6. 排除问题和调试技巧:学习如何识别和解决问题,以及使用Xcode的调试工具。 本教程的章节结构如下: 1. 教程概述和设计模式:简述你要创建的应用,并介绍将采用的设计模式。 2. 创建你的工程:详细说明如何从零...

    Cocoa Programming for Mac OS

    本书介绍了如何使用Xcode进行项目管理、代码编辑、调试等功能。 - **Interface Builder**:一个强大的用户界面设计工具,允许开发者通过拖放操作创建GUI元素,并与代码关联。本书详细讲解了如何使用Interface ...

    cocoa程序设计中译版

    8. **测试与调试**:书中会涵盖Xcode的测试工具,如Unit Tests和Integration Tests,以及如何使用Xcode的调试器进行问题定位。 9. **国际化与本地化**:Cocoa支持多语言应用,书中会讲解如何实现应用程序的国际化和...

    深入浅出Cocoa教程

    - [调试]XCode的一些调试技巧 - [版本管理]Mac下配置Git服务器 - [翻译]苹果Cocoa编码规范 以上参考资料提供了详细的讲解和示例,对于进一步深入学习和理解Objective-C和Cocoa框架非常有帮助。

    Cocoa and Objective-C cookbook

    - **Xcode开发环境**:介绍如何使用Xcode进行Objective-C开发,包括项目创建、编译和调试技巧。 - **Cocoa框架入门**:概述Cocoa框架的基本结构和组成部分,以及如何在项目中引入这些框架。 2. **核心编程技术** ...

    iphone开发基础教程(Xcode4.3版)

    11. **测试与调试技巧**:提供一系列实用的测试和调试方法,帮助开发者找出并修复应用中的错误或性能瓶颈。 12. **发布流程**:最后,本书还会涉及如何准备应用以供发布到App Store的过程,包括满足Apple的审核标准...

    cocoa programming

    这本书可能涵盖了使用Cocoa框架进行应用开发的各个方面,包括但不限于用户界面设计、编程实践、性能优化、调试技巧等。而对版权的强调也意味着读者在参考书中的内容时,应保持对知识产权的尊重。

    Cocoa Programming Developer's Handbook

    - **调试工具**:包括断点调试、性能分析等功能,帮助开发者快速定位问题。 #### 六、案例研究与实践技巧 - **实际项目**:本书通过具体的实例介绍了如何使用 Cocoa 创建实际应用程序的过程。 - **最佳实践**:提供...

    iphone开发cocoa教材中文pdf

    "cocoa教材2-26"可能指的是书中的第26章,这一章可能涵盖了更高级的主题,如高级动画技术、自定义视图控制器转场或是特定的API使用技巧。 通过阅读和学习这本《iPhone开发:Cocoa教程中文PDF》,你将具备开发高...

    【Xcode 4 Unleashed 2nd Edition】[PDF+源代码] [iPhone/iPad/iOS]

    《Xcode 4 Unleashed 2nd Edition》是一本专为iOS开发者量身打造的专业指南,涵盖了Xcode 4的全面使用技巧和iOS开发的深入知识。这本书以PDF格式提供,同时附带了源代码,使读者能够通过实践更好地理解和掌握书中所...

Global site tag (gtag.js) - Google Analytics