python堆栈跟踪_JVM中常用堆栈跟踪内建指令

在使用Java的程序中难免会遇上程序异常的现象,此时就可以使用JDK下的jstack和jmap来跟踪观察JVM中的内存堆栈信息用以分析,不过注意的是如果是在Windows版本或者是开源版中一般都是没有的,如果需要使用需要安装相应的开发调试工具,下面就简单的说一说:

jstack 一般而言之后跟着都是Java程序运行的pid或者是相应的Java代码文件,如:jstack $pid,平时可以把相关的堆栈信息再导出到某一个文件中正用以进一步观察,如:jstack $pid > file.dump

jmap 同jstack的功能效果是差不多的,不过相比而言它会更为的强大一些,同样它之后也是跟着Java程序运行的pid,但是它还有一些参数选项:

默认是没有带这些参数选项的,仅能打印一些简单的信息

-heap 用于打印Java的堆栈的摘要信息

-histo[:live] 用于打印堆栈的实时信息,常用于堆栈的实时跟踪

-clstats 用于打印Java中的类加载的信息

-finalizerinfo 用于打印关于等待确定的对象的信息

-dump: 把相关的堆栈信息dump至二进制文件中用于开发调试工具中使用,如:jmap -dump:format=b,file=Java_jmp.bin $pid

-F 该选项跟着-dump选项一起使用,表示在dump出的二进制文件中不打印打印堆栈的实时信息,但是其他的信息都有打印

-J 将标志传给Java程序,即在做断点

总之在Java的程序发生异常的时候利用其中相关的堆栈跟踪内建指令都能很好的排查其中的问题

logo.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值