今天天气不错,但是赶上恶意加班心情就不爽,怀着不爽的心情干活,总能创造出更多的问题,这不,今天就自己挖了一个坑,自己跳进去了,好在上来了 经过是这样的,开始调试canal采集binlog时,由于添加了一个上报数量大小,随手打印了一个日志 发到sit环境测试一把,卧槽 ...
使用java 做开发,大部分的朋友都是利用DIE 来做debug 工作,因为这样可视化效果好。 但是在真实的工作中,很多使用遇到问题,手头或者环境是不允许你利用DIE 来对源码做debug 工作,开发者只能够利用仅有的jdk 环境和shell 环境,对出现问题的程序进行debug。 本篇文章主要是向大家介绍,如何利用jdk 自带的 jdb 和jstack 来定位问题。 jdb 首先jdb 是一款类 ...
2018-11-21 14:54 0 966 推荐指数:
今天天气不错,但是赶上恶意加班心情就不爽,怀着不爽的心情干活,总能创造出更多的问题,这不,今天就自己挖了一个坑,自己跳进去了,好在上来了 经过是这样的,开始调试canal采集binlog时,由于添加了一个上报数量大小,随手打印了一个日志 发到sit环境测试一把,卧槽 ...
如果程序挂死,有时使用jstack查看进程中线程信息时,需要添加上-F参数,此时如果有死锁信息,则可能不会打印出死锁堆栈信息,使用jdb则可以查看当前死锁线程的运行堆栈。 如下模拟一个简单的死锁程序 获取pid 假设当前不能直接连接27709虚拟机,需要使用参数-F ...
JVM监控工具介绍 jstack — 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中 ...
本文为博主原创,未经允许不得转载: 1. Jstack 用来查看 java 指定进程所包含的 java 线程状态: "arthas-NettyHttpTelnetBootstrap-3-3" 线程名 prio ...
这个问题阿里经常问,参考:阿里面试 结论: (1)栈信息:jstack <pid>输出的信息。 (2)堆信息:jmap -dump <pid>输出的文件, (3)jstat查看gc情况,jstat -gc <PID> 间隔毫秒数 比如 jstat ...
此文已由作者朱笑天授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 问题的起因是笔者在一轮性能测试的中,发现某协议的响应时间很长,去观察哨兵监控里的javamethod监控可以看到以下结果: onMessage是该协议的总入口,可以看到该协议平均耗时 ...
当我们运行java程序时,发现程序不动,但又不知道是哪里出问题时,可以使用JDK自带的jstack工具去定位; 废话不说,直接上例子吧,在window平台上的; 死循环 写个死循环的程序如下: 先运行以上程序,程序进入死循环; 打开cmd,输入jps命令,jps很简单 ...
Java程序中有逻辑错误,就需要使用JDB来进行调试了。调试程序在IDE中很方便了,比如这篇博客介绍了在Intellj IDEA中调试Java程序的方法。 我们课程内容推荐在Linux环境下学习,有同学问如何在命令行下调试Java程序,我们就要使用JDB了。 学习建议:Linux Bash下 ...