如何显示调用堆栈
来源:互联网 发布:程序员必读书籍 知乎 编辑:程序博客网 时间:2024/06/17 20:39
最近在调试bug时候,由于做的是sdk,并不能确定外部是如何调用sdk的函数,所以需要知道调用堆栈。打log肯定是可行的。
在阅读Log.java后发现可以在函数中放入Throwable
作为参数,这样日志就会输出调用栈。
具体如下:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Exception e = new Exception(); Log.w("naruto", "naruto", e); findViewById(R.id.text).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "Naruto", Toast.LENGTH_SHORT).show(); } }); }
日志提供了这种方式,非常简单的就打出了调用栈。只是之前一直不知道。
Log.javapublic static int d(String tag, String msg)public static int d(String tag, String msg, Throwable tr)public static int e(String tag, String msg)public static int e(String tag, String msg, Throwable tr)public static int i(String tag, String msg)public static int i(String tag, String msg, Throwable tr)public static int v(String tag, String msg)public static int v(String tag, String msg, Throwable tr)public static int w(String tag, String msg)public static int w(String tag, String msg, Throwable tr)public static int w(String tag, Throwable tr)
以上这些函数中除了可以打普通的log,还可以打印调用栈。推荐使用w的最后一个,简单。
0 0
- 如何显示调用堆栈
- Python显示函数调用堆栈
- 如何分析Android libc crash,把调用地址转换为函数名显示调用堆栈
- 如何:使用“调用堆栈”窗口
- 显示JavaScript函数调用堆栈的方法
- 显示JAVASCRIPT函数调用堆栈的方法
- Android 方法调用堆栈信息显示
- windbg设置调用堆栈显示深度
- 如何获取当前线程的调用堆栈
- 调用堆栈
- 一种显示函数被调用的堆栈信息的方法
- 13.C++调用Lua函数错误显示和堆栈清理
- python3中简单的异常捕获及显示堆栈调用
- ABAP--如何获取ABAP的程序的调用堆栈
- ABAP--如何获取ABAP的程序的调用堆栈
- 如何打印内核调用堆栈及函数名
- 函数调用时堆栈是如何分配的
- Visual studio如何使用“调用堆栈窗口”查看调试信息
- 搭建jenkins环境流程及所需工具
- SQL——DataReader
- Spinner 设置默认值
- Android封装Toast工具类
- get请求 与post请求的区别
- 如何显示调用堆栈
- Javascript 严格模式详解
- Pycharm中不支持中文编码的解决方案。Pycharm中文报错。
- 2016.12.22linux文件种类与扩展名
- 说说typedef
- win10下安装Centos7
- 基于深度学习的目标检测研究进展
- Ubuntu安装jdk 和 Mysql数据库
- Android EditText与键盘的关系及实现键盘搜索