获取调用栈信息
来源:互联网 发布:修改防沉迷软件 编辑:程序博客网 时间:2024/06/05 18:17
在Java/Android开发中,在出现异常的时候,通常会调用Exception.printStackTrace();方法获取出现异常时的栈信息。在另外一些情况下,即没有异常,但可能项目涉及的代码量非常大,一时还不明白各个函数的调用关系。比如看到某个方法被调用了,但不清楚它又是被哪个方法调用的。此时可以直接获取当前的调用栈信息,具体方法如下:
StackTraceElement[] elements = Thread.currentThread().getStackTrace();for (StackTraceElement e : elements) {System.out.println(e.toString());}
下面是一个实例,定义了一个方法专门打印栈信息:
package com.example.hellolistview;import android.util.Log;public class LogUtils {public final static String TAG = "LogUtils";public static void printStackTraces() {StackTraceElement[] elements = Thread.currentThread().getStackTrace();for (StackTraceElement e : elements) {Log.d(TAG, " " + e.toString());}}}
调用的地方:
public class MainActivity extends Activity {// each item's layout resource idprivate int student_item_id = R.layout.student_item;// columns namesprivate String[] columnNames = new String[] { "name", "score" };// resource idsprivate int[] ids = new int[] { R.id.student_name, R.id.student_score };private ArrayList<HashMap<String, Object>> students = new ArrayList<HashMap<String, Object>>();private Context context = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_listview); context = this; ListView listView = (ListView) this.findViewById(R.id.list_view); createData(); //setSimpleAdapter(listView); listView.setAdapter(new AnotherAdapter()); LogUtils.printStackTraces(); }
运行效果:
题外话:
如果使用Eclipse加断点进行跟踪,JDT/ADT也会显示出调用栈。需要根据自己的实际情况,选择合适的分析手段。
0 0
- 获取调用栈信息
- 【Java知识点】Refection获取调用栈信息
- StackTraceElement获取方法调用栈的信息
- 获取调用堆栈信息
- BIOS关于获取内存信息的调用
- 运行时获取方法调用堆栈信息
- 获取当前调用函数的信息
- 调用moss people服务获取账号信息
- C# 获取被调用函数的信息
- 调用命令行程序并获取返回信息
- 调用新浪IP接口,获取地址信息
- java获取代码调用位置信息
- linux stat系统调用,获取文件信息。
- python 调用top命令获取输出信息
- Python 通过调用接口获取公交信息
- .NET 调用方信息的获取
- iOS 调用系统通讯录 获取联系人信息
- php 调用ffmpeg获取视频信息
- QT Creator入门——笔记1
- ACM 压缩字符串
- 【移动安全】Android 测试工具Monkey介绍
- spring中context:property-placeholder/元素
- gdb 多进程调试
- 获取调用栈信息
- 运用Jconsole监控JVM
- ubuntu中,apt-get的常用命令
- 【DP】 HDOJ 4455 Substrings
- J2SE复习之接口
- android 相对布局属性
- svn提交错误file is scheduled for addition, but is missing
- linux下解压缩、压缩命令小结
- const使用