让 IPhone 程序的调试信息只在 debug 模式下输出
来源:互联网 发布:淘宝登录注册流程图 编辑:程序博客网 时间:2024/04/26 10:33
iPhone 应用发布后,程序运行过程中尽量不要有调试 log 信息输出,因为这样会影响程序运行的效率。通过宏定义设置,使得程序只在 debug 模式下输出这些只对于我们开发者有用的信息,而 release 时不会输出。
一、设置步骤如下:
1、首先建立一个宏定义文件,在其中加入如下代码:
//! 1、XCode 中设置控制
// Target > Get Info > Build > GCC_PREPROCESSOR_DEFINITIONS
// Configuration = Release: <empty>
// = Debug: DEBUG_MODE=1
//!2、人为控制
//#define DEBUG_MODE
#ifdef DEBUG_MODE
#define DebugLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DebugLog( s, ... )
#endif
2、在 Target 的 Bulid 搜索 GCC_PREPROCESSOR_DEFINITIONS(或者 preprocessor macros),没有自己创建一个
3、选择 左上角的 Configuration 的 Debug,在左下角的下拉框选择->Edit Definition at this Level ,添加 DEBUG_MODE=1
4、选择左上角的Configuration: Release,确认没有设置 DEBUG_MODE 的值
二、使用:
首先相应有调试信息的文件中包含此宏文件,使用DebugLog替代cocoa的NSLog,格式化输出的方式一样。
PS:这样我们就可以做到log调试信息在release时不会输出,同时省去了人为疏忽,发布时忘了修改调试标志!
一、设置步骤如下:
1、首先建立一个宏定义文件,在其中加入如下代码:
//! 1、XCode 中设置控制
// Target > Get Info > Build > GCC_PREPROCESSOR_DEFINITIONS
// Configuration = Release: <empty>
// = Debug: DEBUG_MODE=1
//!2、人为控制
//#define DEBUG_MODE
#ifdef DEBUG_MODE
#define DebugLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DebugLog( s, ... )
#endif
2、在 Target 的 Bulid 搜索 GCC_PREPROCESSOR_DEFINITIONS(或者 preprocessor macros),没有自己创建一个
3、选择 左上角的 Configuration 的 Debug,在左下角的下拉框选择->Edit Definition at this Level ,添加 DEBUG_MODE=1
4、选择左上角的Configuration: Release,确认没有设置 DEBUG_MODE 的值
二、使用:
首先相应有调试信息的文件中包含此宏文件,使用DebugLog替代cocoa的NSLog,格式化输出的方式一样。
PS:这样我们就可以做到log调试信息在release时不会输出,同时省去了人为疏忽,发布时忘了修改调试标志!
CocoaChina 会员 “jimney” 译自http://stackoverflow.com/questions/300673/is-it-true-that-one-should-not-use-nslog-on-production-code
- 让 IPhone 程序的调试信息只在 debug 模式下输出
- 让 IPhone 程序的调试信息只在 debug 模式下输出
- 让 IPhone 程序的调试信息只在 debug 模式下输出 转自:hager的博客
- IPhone 程序的调试信息只在 debug 模式下输出
- 谈在Debug和Release模式下输出调试信息
- 谈在Debug和Release模式下输出调试信息
- 谈在Debug和Release模式下输出调试信息 .
- 谈在Debug和Release模式下输出调试信息
- MFC程序中Debug模式下调试信息输出到控制台
- Debug模式应用程序输出Debug调试信息
- mfc vs2008 Debug调试下 TRACE语句打印的调试信息并没有在输出窗口的解决办法
- MFC debug 调试信息的输出
- 写一个把调试信息输出到磁盘文件的DEBUG程序
- Debug 输出字符串 调试信息
- 调试程序时在不中断程序的情况下输出函数调用信息(Mac OS,Linux & Windows)
- 调试程序时在不中断程序的情况下输出函数调用信息(Mac OS,Linux & Windows)
- 在手机上调试,输出Debug信息到计算机
- console.debug()浏览器控制台打印输出 只在支持console的浏览器下打印
- 0-1背包问题入门小结 动态规划(DP)经典题目 POJ324 POJ1276
- oracle 日志分析工具logminer的安装使用
- ffmpeg 无法解析 外部符号
- ajax php jquery (1)
- 18.观察者模式--Observer
- 让 IPhone 程序的调试信息只在 debug 模式下输出
- android实现页面下方的Tab效果
- Windows验证静态只用的端口方法
- Windows 7 以管理员身份运行
- 浅谈JAVA中的四个核心概念
- CUGB 1009 合唱队形 【DP】
- 分享非常有用的Java程序 (关键代码) (一)
- Poj 1703 / Poj 1182 并查集二题
- oracle 笔记6(Fundamentals II)