Android NDEBUG
来源:互联网 发布:阿里云股票数据接口 编辑:程序博客网 时间:2024/06/08 19:28
转自:http://blog.csdn.net/flyingqr/article/details/6407363
1. 下面是控制哪些log输出的宏
/*
* Normally we strip ALOGV (VERBOSE messages) from release builds.
* You can modify this (for example with “#define LOG_NDEBUG 0”
* at the top of your source file) to change that behavior.
*/
#ifdef NDEBUG
#define LOG_NDEBUG 1
#else
#define LOG_NDEBUG 0
#endif
#endif
#ifndef LOG_NIDEBUG
#ifdef NDEBUG
#define LOG_NIDEBUG 1
#else
#define LOG_NIDEBUG 0
#endif
#endif
#ifndef LOG_NDDEBUG
#ifdef NDEBUG
#define LOG_NDDEBUG 1
#else
#define LOG_NDDEBUG 0
#endif
2. LOG_TAG定义
/*
* This is the local tag used for the following simplified
* logging macros. You can change this preprocessor definition
* before using the other macros to change the tag.
*/
#define LOG_TAG NULL
#endif
最终写入是
/*
* Send a simple string to the log.
*/
int __android_log_buf_write(int bufID, int prio, const char *tag, const char *text);
int __android_log_buf_print(int bufID, int prio, const char *tag, const char *fmt, …);
总结:
系统中的程序中输出log一般是到/dev/log/下的三个设备中,可以用logcat查看。
对于init运行的程序则有两种方法查看到log信息:
1.添加/system/bin/logwrapper,可以用logcat查看,例如
service /system/bin/logwrapper /system/bin/rild
2.添加console,像sh一样直接输出到console
service console /system/bin/sh
console
Android的编译参数中,加入了-DNDEBUG,也就是默认是no debug的,当然还需要LOG_NDEBUG LOG_NIDEBUG LOG_NDDEBUG这三个宏设置。
当-DNDEBUG被打上后,默认ALOGV会被禁止。
LOG_NDEBUG LOG_NIDEBUG LOG_NDDEBUG这三个宏控制
LOG_PRI(priority, tag, …)
NDEBUG 是总开关,默认在编译参数中加入打开ALOGV: #define LOG_NDEBUG 0打开ALOGI:#define LOG_NIDEBUG 0打开ALOGD:#define LOG_NDDEBUG 0打开全部LOG:#undef NDEBUG
- Android NDEBUG
- NDEBUG
- NDEBUG
- test for NDEBUG
- assert and NDEBUG
- # define NDEBUG assert
- gcc assert ndebug
- DEBUG and NDEBUG
- assert 与NDEBUG
- 系统assert与NDEBUG
- 关于assert, _DEBUG 与 NDEBUG
- debug 与ndebug的区别,assert用法
- [C++]NDEBUG宏与assert行为
- ndebug与debug及assert()的用法
- [C++]NDEBUG宏与assert行为
- 调试工具之assert和ndebug
- c++调试帮助(assert、NDEBUG)
- NDEBUG 、DEBUG宏 和assert() 的用法
- Java中的String为什么是不可变的?—String源码分析
- Stanford Machine Learning
- 在Nginx中利用lua脚本获取http请求路径信息
- 记录linux中wget的作用
- Spring Cloud (15) | Spring Boot、HikariCP、Mybatis和MySQL 配置HikariCP数据库连接池
- Android NDEBUG
- 在Linux系统下,重启Tomcat
- 全球区块链(智媒链)技术交流暨中国社区成立大会圆满结束
- 进程管理1
- 微信公众平台生成带场景参数二维码
- 华为文件系统基础
- 第十周 项目 1
- 【第十四周项目1】验证算法
- SpringBoot对ActiveMQ的配置解析