`
dingran
  • 浏览: 376625 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

打印java的函数调用栈

 
阅读更多

当遇到一个函数被多个函数调用,而你想知道是被哪个函数调用后出现问题的时候,一种办法是在众多函数中打印log去验证,颇为费时;而下面的办法是让你只需要加一句代码就可以找到整个函数的调用栈

 

在函数中使用:

 

 

(new Exception()).printStackTrace();

 

即可。

 

或者是:

            Exception e = new Exception("dingran");
            e.printStackTrace();

 

注意:

 

       打印出的TAG是在W/System.err( 4275):中,请不要拿自己的TAG过滤,那肯定找不到。

分享到:
评论

相关推荐

    JavaWeb开发 使用WebBrowser控件打印页面demo

    总结起来,JavaWeb开发中使用WebBrowser控件打印页面涉及了多层技术栈的交互,包括Java与.NET的互操作、Windows Forms编程、以及可能的客户端脚本控制。尽管这种方法能提供灵活的打印选项,但在跨平台和安全性方面...

    java实现递归调用

    在编程领域,递归是一种强大的概念,它是指函数或过程在执行过程中调用自身的行为。在Java中,递归常用于解决需要重复执行相同任务但每次处理的数据不同的问题,例如遍历树形结构、计算阶乘、求解斐波那契数列等。本...

    Android下各语言加callStack示例

    本文将深入探讨如何在Android环境下为不同语言(C语言、C++、Java以及内核空间)添加并打印调用堆栈信息。 首先,让我们来看看Java语言的call stack。在Java中,我们可以利用`Thread.currentThread().getStackTrace...

    可以打印栈信息的日志函数移动混合开发神器

    而`console.log`是JavaScript中最常用的日志输出方式,它能显示简单的行号信息,但无法提供函数调用栈,这在需要理解函数调用顺序时就显得不足。 为了解决这个问题,"可以打印栈信息的日志函数"应运而生。这种函数...

    安卓逆向学习笔记之VMP保护的函数的快速逆向分析方法实践篇.docx

    **ShadowFrame**是在Java函数调用栈中的一种特殊结构,它包含了当前执行Java函数的相关信息,如栈帧、程序计数器(PC)等。通过hook`a.v`函数并打印ShadowFrame中的信息,可以获取到函数调用前后的重要细节,从而...

    java打印技术

    综上所述,Java和JavaScript打印技术各有特点,开发者可以根据项目需求选择合适的技术栈。Java的打印功能强大且可控,适用于服务器端处理;JavaScript打印则简单易用,适合前端应用。在具体实践中,两者也可以结合...

    Java调用Delphi开发的Dll小结.pdf

    - 使用`exports`关键字导出该函数,以便Java可以调用。 - 在Java端,创建对应的本地方法声明`native void printText()`,并使用`System.loadLibrary`加载DLL。 - 编译Delphi DLL并将其放入Java工程目录,运行Java...

    QuJing:曲境是一个xposed模块,可实现在PC浏览器上的动态监控(hook)函数调用和查看编码信息,以及反射调用(invoke)等功能

    方法监控,打印调用栈和出入参 对目标方法强制执行 已知问题 函数初始化调用时,巨量的附加信息和出入参打印在浏览器页面上,会导致页面内容过多,如无必要数据,可刷新解决。 部分前端显示存在布局问题 不支持开机...

    javajava调试java调试java调试java调试

    5. **调用栈分析**:在暂停时,可以查看调用栈,了解函数调用的顺序,有助于理清逻辑流程。这对于追踪递归或复杂的控制流特别有用。 6. **线程调试**:多线程程序常常带来额外的复杂性,Java提供强大的线程调试工具...

    java用非递归的方法打印Fibonacci数列

    使用非递归的方法来打印 Fibonacci 数列有很多优点,例如可以避免递归函数的调用栈溢出问题,并且可以提高代码的执行效率。 在实际应用中,我们可以使用非递归的方法来计算 Fibonacci 数列,以便更好地解决实际问题...

    Java版查找并打印有向图中的所有环路径

    至于`MSTApp.java`,它可能包含了创建有向图、添加边和调用`detectCycle`函数的示例代码,以便于测试和演示环路检测的功能。用户可以通过修改这个文件来输入不同的有向图结构,观察环路检测的结果。 总结来说,这个...

    两个栈空间共享,栈满打印

    当`top1+1==top2`时,判断为栈满,此时会调用`pop()`函数打印栈内容并清空栈。`push()`函数负责将数字压入栈,`pop()`函数则负责打印栈内容并重置栈顶指针。 程序代码中,`Stack`结构体定义了数据数组`data`(大小...

    Android调用堆栈跟踪实例分析

    接着,堆栈跟踪会列出导致错误的函数调用序列,这有助于找到问题的根源。例如: ``` #00 pc 0032f3a0 /system/lib/libwebcore.so #01 pc 003243b0 /system/lib/libwebcore.so ``` 这里显示了引发错误的前两个函数...

    android + h5 混合开发 webview 版 小实例 + 数据交互 + 界面交互+ js调用java +java 调用js

    首先,需要在Java中创建一个`WebViewClient`子类,并重写`shouldOverrideUrlLoading()`方法来处理JavaScript的调用: ```java webView.setWebViewClient(new WebViewClient() { @Override public boolean ...

    java编程中实现调用js方法分析

    需要注意的是,JavaScript代码是在Java程序的执行环境中运行的,因此,JavaScript脚本抛出的异常会被ScriptException捕获,并且可以使用printStackTrace方法打印堆栈跟踪。 在Java程序中调用JavaScript函数时,我们...

    linux程序崩溃堆栈信息打印库

    堆栈帧包含了函数调用的地址,这些地址对应了程序执行时的指令位置。 然后,`backtrace_symbols`函数将从`backtrace`得到的内存地址转换为可读的符号信息,比如函数名、文件名和行号。这样,开发者就可以直观地看到...

    队列 堆 栈 堆栈的区别

    ### 队列、堆、栈与堆栈的...- **堆栈**:通常指的是栈,用于存储局部变量和函数调用的上下文。 每种数据结构和内存管理方式都有其独特的用途和优点,根据具体的应用场景选择合适的数据结构和内存管理策略至关重要。

    JNI(java native interface)英文完全手册

    - 本地方法:本地方法是用非Java语言(如C/C++)编写的函数,可以通过JNI在Java应用程序中调用。 2. **JNI环境结构** - JNIEnv指针:每个本地方法都有一个指向JNIEnv接口的指针,它是JNI函数的入口点,提供了访问...

    探讨Java中函数是值传递还是引用传递问题

    首先,值传递是指当函数调用时,实际参数的值被复制一份传递给形式参数。对于Java的基本数据类型(如int、char、boolean等),这是显而易见的。例如在给定的代码段中: ```java public class Test1 { public ...

    android demo,test_function_linenumber_print,android函数名和行号的打印

    要在Android代码中打印函数名和行号,通常可以使用`Log`类的`d()`方法,并结合`new Exception().getStackTrace()[2]`来获取当前调用栈的第二层信息(因为第一层通常是`getStackTrace()`本身)。例如: ```java try ...

Global site tag (gtag.js) - Google Analytics