ローカルデバッグ — Java
注釈:本資料はAI技術を用いて翻訳されています。
このガイドでは、Java で書かれた Extend アプリのデバッグに固有の内容を説明します。 すべての Extend アプリと言語に共通する概念(環境変数、VS Code のデバッグワークフロー、ログの読み方、よくある問題)については、 Extend ローカルデバッグガイドを参照してください。
前提条件
-
Java 17 以降 — 次のコマンドで確認します。
java --version
# 期待される結果: openjdk 17.x.x ... または以降のバージョン -
VS Code Extension Pack for Java(
vscjava.vscode-java-pack) — VS Code マーケットプレイスからインストール、またはリポジトリを開いたときに表示される推奨拡張機能のプロンプトを承認してください。 -
AccelByte の認証情報 —
AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRET。 メインガイドの環境設定を参照してください。
VS Code の起動設定
リポジトリには、.vscode/launch.json にすぐ使える起動設定が用意されています。
{
"name": "Debug: Service",
"type": "java",
"request": "launch",
"mainClass": "com.accelbyte.extend.<appname>.Application",
"envFile": "${workspaceFolder}/.env",
"cwd": "${workspaceFolder}"
}
正確な mainClass は、アプリテンプレートの .vscode/launch.json によって提供されます。
手順:
.envに値を入力します(環境設定を参照)。- Run and Debug パネルを開きます(
Ctrl+Shift+D/Cmd+Shift+D)。 - ドロップダウンから "Debug: Service" を選択します。
- F5 を押します。
その他の IDE — JVM リモートデバッグ
ポート 5005 で待ち受ける JVM デバッグエージェントを使ってアプリを起動します。
export $(grep -v '^#' .env | xargs)
./gradlew bootRun --debug-jvm
デバッガーが接続するまでプロセスは一時停止します。IntelliJ IDEA や Eclipse で
localhost:5005 を対象とする Remote JVM Debug の設定を作成してください。
条件付きブレークポイントの構文
ブレークポイントを右クリック → Edit Breakpoint → Java の式を入力します。例:
request.getUserId().equals("user_001")
デバッガーは条件が true の場合にのみ一時停止します。
jq を使ったログの読み方
# すべてを整形して表示
./gradlew bootRun 2>&1 | jq '.'
# ERROR 行のみ表示
./gradlew bootRun 2>&1 | jq 'select(.level == "ERROR")'
ログの形式やログレベルの概要については、メインガイドの ログの読み方と理解を参照してください。
Java 固有のトラブルシューティング
Gradle デーモンの問題
実行ごとにサービスの動作が一貫しない場合は、Gradle デーモンを停止して再試行してください。
./gradlew --stop
./gradlew bootRun
リモートデバッグ用の JVM ポート競合
--debug-jvm を実行した際にポート 5005 が既に使用されている場合:
ss -tlnp | grep 5005
使用中のプロセスを終了するか、build.gradle でデバッグポートを変更してください。
bootRun {
jvmArgs = ["-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5006"]
}
ポート競合の確認(サービスポート)
ss -tlnp | grep -E '6565|8000|8080'
古いプロセスを終了して、再度起動してください。