当前位置: 首页 > news >正文

微信网站开发服务网络系统分类

微信网站开发服务,网络系统分类,中国建设部网站,网站设计特点java 转储快照分析在本文中#xff0c;我将向您展示如何调试Java核心文件#xff0c;以查看导致JVM崩溃的原因。 我将使用在上一篇文章#xff1a; 生成Java Core Dump中生成的核心文件。 您可以通过以下几种方法来诊断JVM崩溃#xff1a; hs_err_pid日志文件 当JVM中发生… java 转储快照分析 在本文中我将向您展示如何调试Java核心文件以查看导致JVM崩溃的原因。 我将使用在上一篇文章 生成Java Core Dump中生成的核心文件。 您可以通过以下几种方法来诊断JVM崩溃 hs_err_pid日志文件 当JVM中发生致命错误时通常会在进程的工作目录或操作系统的临时目录中生成一个名为hs_err_pidXXXX.log的错误日志文件。 该文件的顶部包含崩溃的原因和“问题框架”。 例如我的节目显示 $ head hs_err_pid21178.log # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc0x0000002b1d00075c, pid21178, tid1076017504 # # JRE version: 6.0_21-b06 # Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b16 mixed mode linux-amd64 ) # Problematic frame: # C [libnativelib.so0x75c] bar0x10 # 还有一个堆栈跟踪 Stack: [0x000000004012b000,0x000000004022c000], sp0x000000004022aac0, free space3fe0000000000000018k Native frames: (Jcompiled Java code, jinterpreted, VvVM code, Cnative code) C [libnativelib.so0x75c] bar0x10 C [libnativelib.so0x772] foo0xe C [libnativelib.so0x78e] Java_CoreDumper_core0x1a j CoreDumper.core()V0 j CoreDumper.main([Ljava/lang/String;)V7 v ~StubRoutines::call_stub V [libjvm.so0x3e756d] 堆栈跟踪显示我的Java方法CoreDumper.core()调用到JNI中并在以本机代码调用bar函数时死亡。 调试Java核心转储 在某些情况下例如如果本机代码通过调用abort函数突然中止则JVM可能不会生成hs_err_pid文件。 在这种情况下我们需要分析产生的核心文件。 在我的机器上操作系统将核心文件写到/var/tmp/cores 。 您可以使用以下命令查看将系统配置为将核心文件写到的位置 $ cat /proc/sys/kernel/core_pattern /var/tmp/cores/%e.%p.%u.core $ ls /var/tmp/cores java.21178.146385.core 有几种不同的方法可以查看核心转储 1.使用gdb GNU调试器gdb可以检查核心文件并确定程序崩溃时正在做什么。 $ gdb $JAVA_HOME/bin/java /var/tmp/cores/java.14015.146385.core (gdb) where #0 0x0000002a959bd26d in raise () from /lib64/tls/libc.so.6 #1 0x0000002a959bea6e in abort () from /lib64/tls/libc.so.6 #2 0x0000002b1cecf799 in bar () from libnativelib.so #3 0x0000002b1cecf7a7 in foo () from libnativelib.so #4 0x0000002b1cecf7c3 in Java_CoreDumper_core () from libnativelib.so #5 0x0000002a971aac88 in ?? () #6 0x0000000040113800 in ?? () #7 0x0000002a9719fa42 in ?? () #8 0x000000004022ab10 in ?? () #9 0x0000002a9a4d5488 in ?? () #10 0x000000004022ab70 in ?? () #11 0x0000002a9a4d59c8 in ?? () #12 0x0000000000000000 in ?? () where命令打印堆栈帧并显示导致崩溃的bar函数abort() 。 2.使用jstack jstack打印给定核心文件的Java线程的堆栈跟踪。 $ jstack -J-d64 $JAVA_HOME/bin/java /var/tmp/cores/java.14015.146385.core Debugger attached successfully. Server compiler detected. JVM version is 17.0-b16 Deadlock Detection:No deadlocks found.Thread 16788: (state BLOCKED)Thread 16787: (state BLOCKED)- java.lang.Object.wait(long) bci0 (Interpreted frame)- java.lang.ref.ReferenceQueue.remove(long) bci44, line118 (Interpreted frame)- java.lang.ref.ReferenceQueue.remove() bci2, line134 (Interpreted frame)- java.lang.ref.Finalizer$FinalizerThread.run() bci3, line159 (Interpreted frame)Thread 16786: (state BLOCKED)- java.lang.Object.wait(long) bci0 (Interpreted frame)- java.lang.Object.wait() bci2, line485 (Interpreted frame)- java.lang.ref.Reference$ReferenceHandler.run() bci46, line116 (Interpreted frame)Thread 16780: (state IN_NATIVE)- CoreDumper.core() bci0 (Interpreted frame)- CoreDumper.main(java.lang.String[]) bci7, line12 (Interpreted frame)3.使用jmap jmap检查核心文件并打印出共享对象内存映射或堆内存详细信息。 $ jmap -J-d64 $JAVA_HOME/bin/java /var/tmp/cores/java.14015.146385.core Debugger attached successfully. Server compiler detected. JVM version is 17.0-b16 0x0000000040000000 49K /usr/sunjdk/1.6.0_21/bin/java 0x0000002a9566c000 124K /lib64/tls/libpthread.so.0 0x0000002a95782000 47K /usr/sunjdk/1.6.0_21/jre/lib/amd64/jli/libjli.so 0x0000002a9588c000 16K /lib64/libdl.so.2 0x0000002a9598f000 1593K /lib64/tls/libc.so.6 0x0000002a95556000 110K /lib64/ld-linux-x86-64.so.2 0x0000002a95bca000 11443K /usr/sunjdk/1.6.0_21/jre/lib/amd64/server/libjvm.so 0x0000002a96699000 625K /lib64/tls/libm.so.6 0x0000002a9681f000 56K /lib64/tls/librt.so.1 0x0000002a96939000 65K /usr/sunjdk/1.6.0_21/jre/lib/amd64/libverify.so 0x0000002a96a48000 228K /usr/sunjdk/1.6.0_21/jre/lib/amd64/libjava.so 0x0000002a96b9e000 109K /lib64/libnsl.so.1 0x0000002a96cb6000 54K /usr/sunjdk/1.6.0_21/jre/lib/amd64/native_threads/libhpi.so 0x0000002a96de8000 57K /lib64/libnss_files.so.2 0x0000002a96ef4000 551K /lib64/libnss_db.so.2 0x0000002a97086000 89K /usr/sunjdk/1.6.0_21/jre/lib/amd64/libzip.so 0x0000002b1cecf000 6K /home/sharfah/tmp/jni/libnativelib.so有用的链接 JVM崩溃分析崩溃课程 生成Java核心转储 参考从我们的JCG合作伙伴 Fahd Shariff的fahd.blog博客分析Java核心转储 。 翻译自: https://www.javacodegeeks.com/2013/02/analysing-a-java-core-dump.htmljava 转储快照分析
http://www.sadfv.cn/news/126717/

相关文章:

  • 网站在线服务网站集约化建设的好处
  • 宜宾网站优化营销网站制作信ls15227
  • 免费网站大全app优化是什么梗 棍勇
  • 瑞金网站建设推广网站收录很好没排名
  • 石家庄模板建站系统设计教程
  • 珠海医疗网站建设加快网站打开速度
  • 东莞搜索seo优化排名seo优化团队
  • 怎么制作钓鱼网站链接怎么做手机版网站
  • 设计网站多少钱wordpress做导航插件
  • 广东专业移动网站建设哪家好响应式门户网站
  • 网站前端开发框架网站建设所需物资
  • 怎么做 niche网站flash做网站通栏
  • 山东网站建设企业公司加盟代理
  • vue网站开发实例wordpress菜鸟
  • 网站的关键词挖掘方式电话用网站做综合布线
  • 成都电子商务网站如何建立一个免费网站
  • wordpress中国网站排名建筑服务类网站
  • 网站如何进行优化东莞凤岗
  • wordpress 以前文章灯箱福州seo外包公司
  • 做百度移动网站排wordpress 图片管理插件
  • .网站空间招聘网站开发源代码
  • 襄阳市建设工程造价管理站网站网站设计的第一步是
  • 做企业网站的步骤网站备案换ip
  • 做淘宝客网站能赚到钱吗网站建设是永久性的吗
  • 美食网站策划书范文北京百度seo排名公司
  • 中国最厉害的网站建设公司促销方案
  • 山东省住房城乡建设厅门户网站如何更新网站快照
  • 网站报错 500企业免费推广网站
  • 做ps找图的网站专业外包网站建设公司排名
  • 站群系统有哪些小企业做网站有没有用