方法2:调试一个java core dump文件 在某些情况下,JVM程序崩溃时,并没有生成hs_err_pid错误日志文件,这个时候,需要分析生成的core dump文件 JVM挂掉时,产生如下的错误信息: /usr/local/bin/entrypoint.sh: line 768:77 Segmentation fault(core dumped) java -Dspring_profiles_active=test -Duse_local_conf=tru...
从结果中知道PID是54666,可以使用sudo coredumpctl dump 54666 -o a.dump,将core文件dump到a.dump中。 core文件格式 core文件是一个标准的ELF格式的文件,使用readelf工具可以对core文件的属性进行检查。如下所示,core文件的TYPE显示是CORE (Core file)。 :~/test/core> readelf -h a.dump ELF Header: Magic: ...
一、分析Core文件 1.1 找到core文件目录,启动mycrash:mycrash 1.2 查看崩溃的堆栈信息:bt 1.3 反汇编崩溃点的代码,10行:dis -l extract_http_info+73 10 二、分析源文件hinfo.ko 2.1 查看源文件信息:objdump -S hinfo.ko > tmp 2.2 从tmp文件中查找1.3中的内容movb $0x0,(%r12,%rax,1),即可确定代码...
thread dump是一个文本文件,打开后可以看到每一个线程的执行栈,以stacktrace的方式显示。通过对thread dump的分析可以得到应用是否“卡”在某一点上,即在某一点运行的时间太长,如数据库查询,长期得不到响应,最终导致系统崩溃。单个的thread dump文件一般来说是没有什么用处的,因为它只是记录了某一个绝对时间点的情况...
HeapDump文件是一个二进制文件,它保存了某一时刻JVM堆中对象使用情况,这种文件需要相应的工具进行分析,如IBM Heap Analyzer这类工具。这类文件最重要的作用就是分析系统中是否存在内存溢出的情况。 怎么生成 这两个文件可以用手工的方式生成,当我们会遇到系统变慢或无响应的情况,这时就以采用手工的方式生成JavaCore及...
kernel.core_pattern = /data/core_files/core-%e-%p-%t 通过ulimit -c命令查看当前coredump文件的限制 ulimit -c 打开core dump ulimit -c unlimited 三、调试: #gdb /usr/bin/httpd core.123 gdb /usr/local/nginx/sbin/nginx core.456 四、在GDB里使用bt命令调试等: ...
JavaCore是一个文本文件,打开后可以看到每一个线程的执行栈,以stacktrace的方式显示。通过对JavaCore的分析可以得到应用是否“卡”在某一点上,即在某一点运行的时间太长,如数据库查询,长期得不到响应,最终导致系统崩溃。 在一些平台上,JavaCore也被称为JavaDump,它包含jvm和应用程序相关的在特定时刻的一些诊断信息,...