您的位置:首页 > 游戏 > 手游 > 怎么找推广平台_客户关系管理crm课程_旅游网站网页设计_好的网站或网页

怎么找推广平台_客户关系管理crm课程_旅游网站网页设计_好的网站或网页

2025/3/18 1:19:15 来源:https://blog.csdn.net/qq_44818304/article/details/146233103  浏览:    关键词:怎么找推广平台_客户关系管理crm课程_旅游网站网页设计_好的网站或网页
怎么找推广平台_客户关系管理crm课程_旅游网站网页设计_好的网站或网页

hs_err.pid.log

hs_err.pid.log:当jvm崩溃时,会生成一个hs_err_pid.log文件,并且把它存放到程序目录下,可以通过该文件来定位导致jvm崩溃的原因。

jvm崩溃,是由jvm自身的bug或者本地方法执行错误引起的,本地方法就是被native修饰的方法。

要注意:

  • 内存溢出通常不会导致jvm崩溃

  • 纯粹的java代码通常不会导致jvm崩溃,不过也有例外,比如Unsafe类,它可以直接操作内存,如果操作不当,也会导致jvm崩溃。

案例:这段代码中使用Unsafe类访问了非法内存地址,这种内存操作将导致jvm崩溃

public static void main(String[] args) throws Exception {// 通过反射获取Unsafe实例Field field = Unsafe.class.getDeclaredField("theUnsafe");field.setAccessible(true);Unsafe unsafe = (Unsafe) field.get(null);// 尝试向受保护的0地址写入数据,触发操作系统级别的内存保护异常,// JVM无法处理这种致命错误,直接崩溃退出,崩溃日志位置取决于JVM工作目录unsafe.putAddress(0, 0xBAD); // 这将导致访问违例
}

生成的文件:

在这里插入图片描述

文件内容讲解

第一部分:jvm基础信息,简述了jvm崩溃的原因,还包括一些版本和配置信息

在这里插入图片描述

内容讲解:

  • SIGSEGV 是信号量:

    • SIGSEGV:表示jvm崩溃时正在执行JNI(java native interface)的代码
    • EXCEPTION_ACCESS_VIOLATION:表示jvm崩溃是正在执行jvm自身的代码
    • EXCEPTION_STACK_OVERFLOW:表示jvm崩溃是栈溢出导致的错误,这往往是应用程序中存在深层递归导致的
  • pc:程序计数器的值

  • pid:进程号

  • tid:线程号

  • Problamatic frame:问题帧

    • C:帧类型为本地帧
    • j:java帧
    • V:虚拟机帧
    • v:虚拟机生成的存根栈帧
    • J:其它类型的帧,包括编译后的java帧

第二部分:thread,线程信息,描述了程序崩溃时正在执行的线程,可以看到线程的栈信息

在这里插入图片描述
在这里插入图片描述

内容讲解:

  • 线程类型:
    • JavaThread:java线程
    • VMThread:jvm的内部线程

第三部分:process,进程信息 // 内容最多

第四部分:system:系统信息

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com