Android NDK漂亮的打印
Android NDK pretty printing
我使用Android NDK与Eclipse + CDT,在OSX上运行。
我希望能够调试STD库的内容。我看过一些关于使用Python脚本启用这种"漂亮的打印"的教程。问题是它们都使用默认的gdb,而不是Android NDK提供的gdb,所以它们对我来说都失败了。
如何使用Android NDK调试STD库?
如果你只需要调试,而不是让一些已经选择的工具工作,我可以分享这段代码:
dlog.h:
#include <android/log.h>
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "~~~~~~", __VA_ARGS__)
#define DLOG(...) __android_log_print(ANDROID_LOG_DEBUG , "~~~~~~", __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR , "~~~~~~", __VA_ARGS__)
#define ELOG(...) __android_log_print(ANDROID_LOG_ERROR , "~~~~~~", __VA_ARGS__)
我定义了DLOG
和LOGD
,以避免记住顺序))
include $(CLEAR_VARS)
LOCAL_MODULE := ...
LOCAL_SRC_FILES += ...
LOCAL_LDLIBS := -llog # <=========== link with liblog.so
include $(BUILD_SHARED_LIBRARY)
用法:
DLOG("this is a test %s 0x%x","whoa!",1234);
您可以在看到Log.d()
输出的相同位置看到这些消息,我更喜欢adb logcat
或adb logcat | grep something
。
相关文章:
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数
- 使用 Boost HOF 实现 STL 漂亮打印
- 在wxWidgets中漂亮地打印XML
- 在 Eclipse 中漂亮的打印C++适用于某些项目,而不适用于其他项目
- 漂亮的打印与libxml2
- 漂亮的打印不适用于C ++ STL列表
- 使用JSON Spirit进行漂亮打印
- Mac漂亮打印GDB
- Rapidjson漂亮的打印使用JSON字符串作为作者的输入
- boost::p roperty_tree XML 漂亮的打印,格式化
- C++ GDB Python 漂亮的打印教程
- 如何在编译时漂亮地打印模板参数的名称
- 漂亮地打印一个C++中的变量和值列表
- c++中使用的缩进和漂亮打印之间的区别是什么
- 所有类的漂亮打印,带有用于循环支持的范围基础
- 如何更漂亮地打印C / C++中的调用堆栈
- 使用 GDB 的 Python 漂亮打印不支持地图的索引运算符 []
- 漂亮的打印提升::MPL::字符串<...> GDB 中的类型
- GDB 漂亮打印导入错误:没有名为"打印机"的模块
- 目标c -在IOS上打印漂亮的大数