实例:随机输入字符串邮箱验证的正则表达式,造成死循环
- 使用top命令定位异常进程。
- 使用top -H -p 进程号查看异常线程
- 使用printf "%x\n" 线程号将异常线程号转化为16进制
- 使用jstack 进程号|grep 16进制异常线程号 -A90来定位异常代码的位置(最后的-A90是日志行数,也可以输出为文本文件或使用其他数字)。可以看到异常代码的位置。基本就可以找到是代码bug的原因。修复上线。
获取进程启动时间
ps -eo pid,lstart,etime | grep 15840