JNIを使用するデスクトップアプリケーションがあり、JVMがクラッシュすることがあります。幸い、JVMはhs_err_pidXXXX.log
ファイルを生成します。これは、このようなエラーのデバッグに非常に役立ちます。ただし、常に現在の作業ディレクトリに移動しているように見え、他のログファイルはすべて特定の「ログファイルの場所」に移動するため、そこから掘り下げるのは面倒です。
それらの「クラッシュダンプ」ファイルに別の場所を指定することは可能ですか?どのように?
JNIを使用するデスクトップアプリケーションがあり、JVMがクラッシュすることがあります。幸い、JVMはhs_err_pidXXXX.log
ファイルを生成します。これは、このようなエラーのデバッグに非常に役立ちます。ただし、常に現在の作業ディレクトリに移動しているように見え、他のログファイルはすべて特定の「ログファイルの場所」に移動するため、そこから掘り下げるのは面倒です。
それらの「クラッシュダンプ」ファイルに別の場所を指定することは可能ですか?どのように?
Joonas、
HeapDumpPathはヒープダンプに対して機能しますが、それはあなたの質問に対する答えではありません。ヒープダンプとjvmクラッシュログは2つの別個のものです。
jvmクラッシュログの宛先を変更するには、次のオプションを指定してjavaを実行します。
-XX:ErrorFile=/path/to/file.
Path / to / fileは、JVMクラッシュログを出力する場所です。
デフォルトでは、ヒープダンプはVMの作業ディレクトリにあるjava_pidpid.hprofというファイルに作成されます。-XX:HeapDumpPath =オプションを使用して、代替ファイル名またはディレクトリを指定できます。たとえば、-XX:HeapDumpPath = / disk2 / dumpsを使用すると、ヒープダンプが/ disk2/dumpsディレクトリに生成されます。