简单介绍以下几个宏:

1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。

2) __FILE__ 宏在预编译时会替换成当前的源文件名

3) __LINE__宏在预编译时会替换成当前的行号

4) __FUNCTION__宏在预编译时会替换成当前的函数名称

1.重新定义系统的NSLog,__OPTIMIZE__ 是release 默认会加的宏

#ifndef __OPTIMIZE__

#define NSLog(...) NSLog(__VA_ARGS__)

#else

#define NSLog(...){}

#endif

2.直接自己写#define,当release版本的时候把#define 注释掉即可

#define IOS_DEBUG

#ifdef IOS_DEBUG

#define NSLog(...) NSLog(__VA_ARGS__)

#endif

3.

#ifdef DEBUG

# define DLog(format, ...) NSLog((@"[文件名:%s]" "[函数名:%s]" "[行号:%d]" format), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);

#else

# define DLog(...);

#endif

这种方式需要修改项目的配置,使得在debug编译的时候,编译DLog的宏,产生详细的日志信息,而release的时候,不产生任何控制台输出

相比而言,还是第一种比较方便

ios 打印 详细错误日志_iOS打印Debug日志的方式相关推荐

  1. ios 打印 详细错误日志_iOS中打印系统详细日志

    Q:如何打印当前的函数和行号? A:我们可以在打印时使用一些预编译宏作为打印参数,来打印当前的函数和行号.如: 1 NSLog(@"%s:%d obj=%@", __func__, ...

  2. ios 打印 详细错误日志_ios 打印日志注意的点

    1.常用的打印格式化字符 %@ 对象 %d,%i 整型 (%i的老写法) %hd 短整型 %ld , %lld 长整型 %u 无符整型 %f 浮点型和double型 %0.2f 精度浮点数,只保留两位 ...

  3. ios 打印 详细错误日志_【专家专栏】林相宇 | IOS错误日志抓取和分析

    原标题:[专家专栏]林相宇 | IOS错误日志抓取和分析 在调试自己和别人的IOS App时,发生Crash是非常正常的情况,分析这些Crash的主要手段之一就是分析Crash发生时产生的错误日志.对 ...

  4. ios 打印 详细错误日志_关于Xcode不能打印崩溃日志

    最近在调试应用的时候发现了一个问题, 就是Xcode的控制台不打印Crash日志. 几经周折终于发现了问题. 因为不能打印日志, 开始以为是我没有设置 NSSetUncaughtExceptionHa ...

  5. java 捕获异常打印详细错误信息:Exception e

    前言 dubbo接口数据进行转换的过程中,出现了空指针,但是自己捕获的时候没有注意这个问题,只是简单的打印出来,结果发现答应出来的都是null,基本上是无效的异常打印. 完善异常信息 一开始的代码是如 ...

  6. 计算机打印状态错误,打印机开始打印就显示错误怎么办?

    打印机,作为办公室最为常见的办公设备,有使用win10系统的用户遇到了打印机一打印就显示错误的问题,那么遇到这个问题该如何解决呢?下面一起来看看吧. 解决办法: 方法一: 1.首先要删除打印任务,并将 ...

  7. android 是否允许打印debug级别日志的开关_log日志功能及设置方法

    log日志功能及设置方法的详细介绍,首先引入Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍,下面一起跟随小编过来看看吧. 一.日志级别(从低到高): DEB ...

  8. log日志:打印日志到控制台、文件、日志文件分区、打印错误日志到文件

    springboot默认会加载classpath:logback-spring.xml文件 如果需要自定义文件名称,在application.properties中配置logging.config 选 ...

  9. springboot关闭mybatis打印debug日志

    关闭mybatis的debug日志打印,总是关不掉,最后通过配置mybatis-config.xml终于关掉了debug日志打印 <?xml version="1.0" en ...

最新文章

  1. 发布:IE自动打印插件
  2. 静态路由默认路由的配置
  3. SQLServer出现不允许保存更改的问题解决
  4. 甲骨文被曝服务器漏洞,攻击者窃获 22.6 万美元加密货币
  5. AI技术宅:女神说什么,听我的!
  6. 系统集成Nacos和Feign
  7. TensorFlow Keras 官方文档中文版文档学习
  8. 推荐五款你从未见过的嵌入式电子电路仿真APP
  9. Mission Planner中级应用(APM或PIX飞控)3——APM飞控安装双GPS测试 APM双GPS
  10. 报名 | 智慧数据云平台与新型城镇化智库论坛
  11. -exec rm 与 xargs rm -rf 深度剖析
  12. T-BOX,OBD区别
  13. oracle数据库卷管理,AIX系统逻辑卷管理
  14. JAVA 文件上传格式限制_关于servlet文件上传限制文件大小的问题,求高手帮忙
  15. 数据挖掘第二章 认识数据
  16. 短视频引流怎么做?如何利用短视频引流?短视频引流技巧
  17. 《宏观经济学》第四章
  18. 【解题报告】2015ACM/ICPC亚洲区上海站
  19. CSS实现强制不换行、自动换行、强制换行的css代码
  20. 1句话搞明白啥是码元、啥是比特率、啥是波特率

热门文章

  1. UVA11233 POJ3366 HDU1804 Deli Deli【水题】
  2. Bailian3858 和数【暴力+集合】
  3. Bailian2912 三个完全平方数【进制+枚举】
  4. CCF NOI1038 玩扑克
  5. Metropolis 采样与蒙特卡洛算法
  6. 命名集 —— 名字结构
  7. C Tricks(十二)—— 获取字符数组的末尾元素
  8. windows操作系统的使用 —— 资源监视器
  9. 江苏高考成绩什么时候可以查询2021,2021年江苏高考成绩什么时候公布出来,几月几号几点钟可以查询...
  10. python字符串函数_python字符串函数