首页 > 编程语言 >Java调试绘帧

Java调试绘帧

时间:2023-08-21 11:12:53浏览次数:163  
标签:Outer 绘帧 printStackTrace Inner new print Java public 调试

1. 打印栈回溯

(1) 直接使用 new RuntimeException("stack_dump").printStackTrace();

 1 public class Outer {
 2     private int x = 10;
 3     
 4     public void print() {
 5         Inner inner = new Inner();
 6         inner.print();
 7     }
 8     class Inner {
 9         private int x = 20;
10         public void print() {
11             System.out.println("内部类的x:" + x);
12             System.out.println("外部类的x:"+ Outer.this.x);
13             new RuntimeException("stack_dump").printStackTrace(); //打印栈回溯
14         }
15     }
16     
17     public static void main(String args[]) {
18         Outer o = new Outer();
19         o.print();
20     }
21 }
22 
23 /*
24 内部类的x:20
25 外部类的x:10
26 java.lang.RuntimeException: stack_dump
27         at Outer$Inner.print(Outer.java:13)
28         at Outer.print(Outer.java:6)
29         at Outer.main(Outer.java:19)
30 */

 

(2) 若有异常,也可以使用 e.printStackTrace() 进行打印

try { 
...
} catch (Exception e) {
    e.printStackTrace();
}

 

标签:Outer,绘帧,printStackTrace,Inner,new,print,Java,public,调试
From: https://www.cnblogs.com/hellokitty2/p/17645478.html

相关文章

  • Java-logback.xml配置
    <?xmlversion="1.0"encoding="UTF-8"?><configurationdebug="false"><!--定义日志文件的存储地址勿在LogBack的配置中使用相对路径--><propertyname="LOG_HOME"value="\logs"/><!--控制台输出-......
  • Java前端上传文件后,将文件传输到后端,并将文件上传到FTP服务器上
    当我们在前端上传文件后,需要将文件传输到后端,并将文件上传到FTP服务器上。在Java中,我们可以使用ApacheCommonsNet库来实现FTP文件上传。下面是一个简单的示例,演示了如何在Java中实现前端上传文件后端接收并上传到FTP服务器的过程。前端上传文件首先,在前端页面中,我们需要一个文件......
  • Visual Studio 2022 实用调试技巧
    1、什么是bug?bug本意是昆⾍”或“⾍⼦”,现在⼀般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或问题,简称程序漏洞。“Bug”的创始⼈格蕾丝·赫柏(GraceMurrayHopper),她是⼀位为美国海军⼯作的电脑专家,1947年9⽉9⽇,格蕾丝·赫柏对HarvardMarkII设置好17000个继电器进⾏......
  • [完结25章]Java七大热门技术框架源码解析
    点击下载:[完结25章]Java七大热门技术框架源码解析提取码:ygnz《Java七大热门技术框架源码解析》已完结25章,任何框架都是有助于更快更好地开发软件解决方案的工具之一。框架的基本原理不必重新发明轮子。框架使开发人员的工作变得更轻松,并帮助他们专注于业务逻辑,而不必担心通用的......
  • 《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,夯实底层基础 —— 吃透cla
    前言介绍了解Java代码如何编译成字节码并在JVM上执行是非常重要的。这种理解可以帮助我们理解程序执行时发生的情况,确保语言特性符合逻辑,并在进行讨论时能够全面考虑各种因素和副作用。本文将深入探讨Java代码编译成字节码并在JVM上执行的过程。如果您对JVM的内部结构和字节码执行......
  • Linux下后台运行Java程序
    1、背景描述用Java编写了一个程序(可执行的jar),需要在Linux中启动并持续运行1.1、直接执行程序直接执行程序后,在程序执行期间,无法在当前会话中再执行其他操作1.2、直接执行程序后中断直接执行程序后,按Ctrl+C中断;这时虽然可以在当前会话中执行其他操作,但是程序也结束运行......
  • Java网络编程:IO、NIO
    Socket套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。看不懂?别急,先回忆一下大学学的计算机网络。物理......
  • 8 JavaScript函数
    8JavaScript函数在JS中声明函数和python差不多.也要有一个关键字顶在前面.python是def,到了JS里换成了function,只不过在JS中没有像python那么死板,必须def后面必须跟上函数名.这也为我们未来做逆向提供了第一个超大的伏笔.//语法//声明函数function函数名(形参1,......
  • Java 基于Hutool实现DES加解密
    POM.XML配置<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma......
  • Java中的Future
    1.Future解决了什么问题Future是java中的一个接口,主要用于java多线程计算过程的异步结果获取,能够感知计算的进度,与传统的多线程实现方式,比如继承Thread类,实现runnable接口,它们主要的局限在于对多线程运行的本身缺少监督。2.Callable接口和Runnable接口区别下面是它们之间的主要......