release下不输出NSLog打印的内容,debug下才输出。

软件运行越来越慢,突然在想,是不是因为NSLog,太多的原因。因为自己总是喜欢用NSLog打印出变量,然后,在进行调试程序,找Bug.

网上查找资料,果然,和这个还是有点关系的。

直接上代码,使其在release下不输出NSLog打印的内容,debug下才输出。

要注意,这部分代码是要写在prefix.pch中的。

// 在debug模式下输出NSLog,在release模式下不输出NSLog
#ifndef __OPTIMIZE__
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...) {}
#endif

release下不输出NSLog打印的内容,debug下才输出。

时间: 2024-10-18 13:32:15

release下不输出NSLog打印的内容,debug下才输出。的相关文章

将Python打印的内容进行高亮的输出

将打印的内容进行高亮的显示 内容: 格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: "\033[41;36m something here \033[0m" 可以利用字符的格式化将其中的something here 转换成变量:如 the_match1 = "\033[;34m%s\033[0m"%the_match 其中41的位置代表底色, 36的位置是代表字的颜色 那些ascii code 是对颜色调用的始

NSLog打印信息的从新设置

前提:在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件但是当应用跑在设备上时这些输出语句会在很大程度上影响应用的性能,针对这种问题可以写一些宏来控制这些调试信息的输出. 在release版本禁止输出NSLog内容 因为NSLog的输出还是比较消耗系统资源的,而且输出的数据也可能会暴露出App里的保密数据,所以发布正式版时需要把这些输出全部屏蔽掉. 我们可以在发布版本前先把所有NSLog语句注

iOS开发 替换NSLog打印设置

在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件但是当应用跑在设备上时这些输出语句会在很大程度上影响应用的性能,针对这种问题可以写一些宏来控制这些调试信息的输出. 在release版本禁止输出NSLog内容 因为NSLog的输出还是比较消耗系统资源的,而且输出的数据也可能会暴露出App里的保密数据,所以发布正式版时需要把这些输出全部屏蔽掉. 我们可以在发布版本前先把所有NSLog语句注释掉,

iOS 把NSLog打印到文件的方法

使用以下代码可以把console打印处理的log都保存到文件 + (void)redirectNSLogToDocumentFolder{ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *fileName =[NSStri

关于VS2013优化后MFC中对文件读取失败的解析(debug下可以,release下失败)

经测试: 错误来源于:如下程序,在vs2010下使用GetFileName(),文件可以成功读取,但在VS2013下,使用GetFileName()读取文件在debug下可以,但release下失败,改为GetPathName()后,便可以成功编译. CFileDialog filePCloudDlg(TRUE); filePCloudDlg.m_ofn.lpstrTitle=_T("选择点云文件"); filePCloudDlg.m_ofn.lpstrFilter=_T("

Android Studio配置debug下使用正式签名调试

今天在集成微信分享功能的时候,按照官方文档一步一步来写.这是向微信发送我们想要分享的内容,各类的方法大家去看文档,代码如下: IWXAPI api = MyApplication.getInstance().getWxApi(); if (!api.isWXAppInstalled()) { ToastFactory.getToast(activity, "您还未安装微信客户端").show(); return; } WXWebpageObject webpage = new WXWe

Linux学习_随笔:输出重定向 > log,由于print打印的内容过多,linux终端上显示不出完全信息

在调试代码的时候,我们时常借助print语句来进行调试.但有时,由于打印的内容过多,linux终端上显示不出完全信息. 1.此时我们可以借助命令:./test > log 或者是 ./test >> log 这样就把所有正确的信息都打印到log中,不正确的信息会打印到终端上. 注解: (1)> 是定向输出到文件,如果文件不存在,就创建文件:如果文件存在,就将其清空:一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节): (

iOS ---不一样的NSLog打印(定位打印)

在iOS开发过程中,调试是很重要的过程,而除了各种断点调试(普通断点.条件断点.全局断点)之外,似乎NSLog是我们调试最常用的方法,当然,也是最简单朴素的寻debug方法. 在项目中,我们常使用的NSLog的语句无外乎以下一种: NSLog(@"打印字符串:%@",name);   NSLog(@"打印整形:%i",number);//或者 %li ; %ld ; %d   NSLog(@"打印字符:%c",c);   NSLog(@"

Golang把所有包括底层类库,输出到stderr的内容, 重新定向到一个日志文件里面?

不论应用是如何部署的,我们都期望能扑捉到应用的错误日志, 解决思路: 自己写代码处理异常拦截,甚至直接在main函数中写异常拦截. stderr重定向到某个文件里 使用 syscall.Dup2 第一种方法比较简单, 我们这里主要看后两种: 使用 stderr替换的代码: package main import (     "fmt"     "os" ) func main() {     f, _ := os.OpenFile("C:\\tmp\\11