ネイティブ・イメージのホスト型オプションと実行時オプション
ネイティブ・イメージ・ビルド・オプションにリストされているすべてのオプションに加えて、ホスト型オプションと実行時オプションも区別されています。
- 
    
ホスト型オプション: ネイティブ・イメージ・ビルドを構成します。たとえば、イメージに配置される内容とイメージのビルド方法に影響します。これらは、コマンドラインで接頭辞
-H:を使用して設定します。 - 
    
実行時オプション: イメージのビルド時に、
native-imageビルダーのコマンドラインで接頭辞-R:を使用して初期値を取得します。実行時のデフォルトの接頭辞は-XX:です(ただし、これはアプリケーション固有であり、ネイティブ・イメージでは必須ではありません)。 
オプションの定義方法および使用方法に関する開発者向けドキュメントは、com.oracle.svm.core.optionパッケージのドキュメントを参照してください。
有用なオプションのリスト
グラフのダンプ
ネイティブ・イメージでは、GraalVMデバッグ環境におけるグラフのダンプ、ロギング、カウンタおよびその他すべてにGraalVMオプションが再利用されています。これらのGraalVMオプションは、ホスト型オプションとて使用することも(ネイティブ・イメージ・ビルダーのグラフをダンプする場合)、実行時オプションとして使用することもできます(実行時の動的コンパイル時にグラフをダンプする場合)。
想定どおりに動作するGraalコンパイラ・オプションとしては、Dump、DumpOnError、Log、MethodFilter、およびダンプ・ハンドラのファイル名とポートを指定するオプションがあります。
たとえば:
- 
    
native-imageビルダーのコンパイラ・グラフをダンプするには、-H:Dump= -H:MethodFilter=ClassName.MethodNameのように指定します。 - 
    
実行時にコンパイル・グラフをダンプするには、実行時に
-XX:Dump= -XX:MethodFilter=ClassName.MethodNameのようにダンプ・フラグを指定します。 
ソフトウェア部品表(SBOM)
GraalVM Enterpriseネイティブ・イメージでは、試験段階のオプションを使用することで、ソフトウェア部品表(SBOM)をネイティブ実行可能ファイルに埋め込むことができます。このオプションは、必要なSBOM形式を入力として受け取り、ネイティブ・イメージ検査ツールを使用して、埋め込まれたSBOMを受動的に取得できます。現在、CycloneDX形式がサポートされています。ユーザーは、コンパイル時に--enable-sbomオプションを使用して、CycloneDX SBOMをネイティブ実行可能ファイルに埋め込むことができます。SBOMは圧縮形式(gzip)で格納され、エクスポートされたsbomシンボルはその開始アドレスを参照し、sbom_lengthシンボルはそのサイズを参照します。
デバッグ・オプション
これらのオプションを使用すると、生成されたバイナリの追加チェックが有効になり、デバッグに役立ちます:
-H:[+|-]HostedAssertionsを使用すると、native-imageビルダーでJavaアサート文が有効または無効になります。このフラグは、HotSpot VMの-ea -esaまたは-da -dsaに変換されます。-H:[+|-]RuntimeAssertionsを使用すると、実行時にJavaアサート文が有効または無効になります。-H:TempDirectory=FileSystemPathを使用すると、ネイティブ・イメージの生成時に一時ファイルのディレクトリが生成されます。このオプションを指定した場合は、ネイティブ・イメージの生成後に検査できるように一時ファイルは削除されません。
メイン・エントリ・ポイントの制御
-H:Kind=[EXECUTABLE | SHARED_LIBRARY]: メイン・エントリ・ポイントを含む実行可能ファイルを生成するか、@CEntryPointでマークされたすべてのエントリ・ポイントを含む共有ライブラリを生成します。-H:Class=ClassName: デフォルトのエントリ・ポイント・メソッドを含むクラスです。Kind == SHARED_LIBRARYの場合は無視されます。-H:Projects=Project1,Project2: アプリケーションを含むプロジェクト(および一時的にそれが依存するすべてのプロジェクト)です。-H:Name=FileName: 生成される実行可能ファイルの名前です。-H:Path=FileSystemPath: 生成された実行可能ファイルが配置されるディレクトリです。