标签: hs-err

Java:如何指定JVM参数-XX:ErrorFile并在filename中保留自动PID

我正在使用JNI,当由于目标应用程序中的错误而发生崩溃时,会生成hs_err_pid*.log文件.我想更改存储该文件的默认位置.现在,通过搜索我明白这可以使用JVM参数-XX:ErrorFile来实现.

文件说,该参数默认为./hs_err_pid <PID >.LOG

现在,当我覆盖默认值时,如何告诉JVM仍然在文件名中包含进程ID?我显然试图将targetDir/hs_err_pid <pid >.log作为命令行参数,但这导致整个参数被忽略(并且文件存储到默认位置,即工作目录).如果我只说targetDir/hs_err_pid.log文件存储在我想要的位置,但是没有将文件附加到进程ID.

任何建议,将不胜感激.

java jvm-arguments hs-err

8
推荐指数
1
解决办法
7268
查看次数

我该如何解释这个JVM错误?

我有一个Java应用程序,它使用一些本机代码,这是错误的.我想搞清楚在那里它的断层,但我不知道如何读hs_err_pid转储文件:

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x256cbc]
V  [libjvm.so+0x25df69]
V  [libjvm.so+0x25dbac]
V  [libjvm.so+0x25e8c8]
V  [libjvm.so+0x25e49f]
V  [libjvm.so+0x16fa3e]
j  br.com.cip.spb.single.SPBRequestApplicationController.processJob(Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+158
j  com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+108
j  com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ScheduledJob;)V+7
v  ~StubRoutines::call_stub
V  [libjvm.so+0x17af0c]
V  [libjvm.so+0x28b9d8]
V  [libjvm.so+0x17ad3f]
V  [libjvm.so+0x1a58a3]
V  [libjvm.so+0x18bc24]
C  [cgen+0xa6d6]
C  [cgen+0xae1e]  cgen_process_job+0x336
C  [cgen+0x10442]
C  [cgen+0x7714]
C  [cgen+0x38216]
C  [cgen+0x3a29d]
C  [cgen+0x37e3c]
C  [cgen+0x7558]
C  [libc.so.6+0x166e5]  __libc_start_main+0xe5
Run Code Online (Sandbox Code Playgroud)

基本上,指向的'j'帧是什么?是V+158指类中的字节码偏移量?我怎样才能追溯到这里的源线?

实际上,我喜欢这种垃圾桶的一般指南.那太棒了.

java debugging java-native-interface core hs-err

4
推荐指数
1
解决办法
6934
查看次数

在Linux上没有生成JVM hs_err.log

我目前正在开发一些Java应用程序的问题.即JVM崩溃了一个段错误.我正在尝试找到hs_err.log文件,该文件应包含有关该问题的一些有用信息.

但是,我找不到这个文件.我用过find,locate等等,什么都没用.

关于为什么没有生成日志文件的任何想法?

java linux hs-err

4
推荐指数
1
解决办法
7210
查看次数

如何禁止创建hs_err_pid文件?

我们在java 1.6.0_13下运行一个java应用程序.当它崩溃时,它会创建正常的hs_err_pid文件.即使应用程序崩溃,我也不希望创建此文件.在java命令行上有一种方法可以抑制它吗?我熟悉-XX:ErrorFile选项.如果我将此设置为空字符串会抑制它吗?

java hs-err java-6

4
推荐指数
1
解决办法
4452
查看次数