Vega Studioを使用して1行ずつデバッグを実行する方法
Vega Studioを使って、VegaアプリやターボモジュールをGDB(GNUデバッガー)でデバッグする方法を紹介します。Vega Studioには、ネイティブコードのデバッグにGDBを使用する組み込みのデバッグ機能があり、実行中のプログラムの検査、ブレークポイントの設定、コードのステップ実行ができます。ターボモジュールは、React Nativeの機能を拡張するネイティブコードコンポーネントです。
Chrome DevToolsのデバッグについては、Chrome DevToolsを使用したアプリのプロファイリングを参照してください。
前提条件
Vega Studioでアプリをデバッグする前に、開発環境と対象デバイスが適切に構成されていることを確認するため、以下のセットアップ要件を完了してください。
-
(任意)VS Codeデバッグドキュメントを確認します。
-
(任意)GDB(GNUデバッガー)について学びます。
-
デバッグターゲット をKepler仮想デバイスまたはFire TV Stickから選択します。
-
ターゲットの開発者モードを有効にします。
Vega仮想デバイス
- VS Codeを開きます。
- アクティビティバーからVega Studio拡張機能のアイコンを選択します。
- [Devices] に移動します。
- Vega仮想デバイスを起動します。
- ターミナルを開き、次のコマンドを実行します。
kepler exec vda shell vsm developer-mode enableFire TV Stick
- Fire TV StickをUSB経由で開発用コンピューターに接続します。
- Fire TV Stickでのアプリの実行の手順に沿って、開発者モードを有効にします。
Vega Studioデバッガーの構成
デバッグ構成を設定して、Vega Studioの起動方法とアプリへの接続方法を指定します。クイックセットアップには自動構成を使用し、カスタムデバッグシナリオには手動構成を使用できます。
自動構成
オプション1: 開いているファイルまたは選択したプロジェクトを使用する
- プロジェクトファイルを開くか、サイドバーから選択します。
-
VS Codeアクティビティバーから [実行とデバッグ] を選択します。

- アプリのデバッグの手順にしたがって設定します。
オプション2: [Show all automatic configurations]を使用する
- VS Codeアクティビティバーの [実行とデバッグ] に移動します。
- [Show all automatic debug configurations] をクリックします。
-
目的のデバッグ構成を選択します。

手動構成
- VS Codeアクティビティバーの [実行とデバッグ] に移動します。
- [create a launch.json file] をクリックします。
- プロンプトからKeplerプロジェクトを選択します(プロジェクトが1つしかない場合はスキップしてください)。
-
デバッガーを選択します。
- Kepler: Kepler向けReact Native(JavaScript/TypeScriptコード)
- KeplerNative: ターボモジュール用(ネイティブC++コード)

Vega Studioはデフォルト設定でlaunch.jsonファイルを作成します。
ターゲットデバイスの指定
複数のデバイスが接続されている場合は、deviceIdプロパティを設定してターゲットデバイスを指定します。
"${command:kepler.state.getSelectedDeviceId}"- サイドバーから選択したデバイスを使用します"KeplerVirtualDevice"- 特にKepler仮想デバイスを対象にします- デバイスのシリアルID - 特定の物理デバイスを対象とします
Copy device IDコマンドを使用して、正確なシリアルIDを取得します。launch.jsonへの構成の追加
既存のlaunch.jsonファイルに構成を追加する方法:
- アプリのlaunch.jsonファイルを開きます。
- [構成の追加] ボタンをクリックします。
- 利用可能なオプションから目的の起動対象を選択します。
-
変更を保存します。

ブレークポイントの設定
コードエディターの行番号の左側の余白をクリックして、アプリにブレークポイントを作成します。

launch.jsonの属性
| 属性 | 説明 |
|---|---|
| type | デバッガータイプ:"kepler"(React Native)または"keplerNative"(ターボモジュール) |
| request | リクエストタイプ:"launch"(新しいセッションを開始する)または"attach"(実行中のアプリに接続する) |
| name | デバッグドロップダウンに表示される名前 |
| keplerMode | デバッグモード:"debug"または"release" |
| cwd | ワークスペースのディレクトリ |
| deviceId | ターゲットデバイスの識別子 |
| forceRebuild | 起動前に自動再構築する(デフォルト:false) |
| disableAppTimeout | デバッグ中のANRタイムアウト動作を制御します。true(デフォルト)の場合、デバッグセッション中に終了しないようにするため、アプリのタイムアウトを無効にします。falseの場合、通常のタイムアウト動作が有効になり、一時停止中のアプリが強制終了されることがあります。詳細については、トラブルシューティングのセクションを参照してください。 |
| enableDebug | 起動時にデバッガーをアタッチする(デフォルト:true) |
disableAppTimeout属性は、応答しないアプリケーションをライフサイクルマネージャーが終了させるかどうかを制御します。true(デフォルト)の場合、LCMはデバッグ中にアプリを終了しないため、ブレークポイントで無期限に一時停止できます。falseの場合、LCMは通常どおり動作するため、タイムアウト時間内に応答しないアプリは終了させられます。構成サンプル
Vegaアプリ向けの基本的なReact Native
{
"version": "0.2.0",
"configurations": [
{
"name": "(script) Launch",
"type": "kepler",
"request": "launch",
"keplerMode": "debug",
"cwd": "${workspaceFolder}",
"deviceId": "${command:kepler.state.getSelectedDeviceId}",
"disableAppTimeout": true,
"perf": {
"startActivityMonitoring": false
}
}
]
}
Vegaアプリ向けのマルチデバイスReact Native
{
"version": "0.2.0",
"configurations": [
{
"name": "(script) Launch on selected device",
"type": "kepler",
"request": "launch",
"keplerMode": "debug",
"cwd": "${workspaceFolder}",
"deviceId": "${command:kepler.state.getSelectedDeviceId}",
"disableAppTimeout": true
},
{
"name": "(script) Launch on Vega Virtual Device",
"type": "kepler",
"request": "launch",
"keplerMode": "debug",
"cwd": "${workspaceFolder}",
"deviceId": "KeplerVirtualDevice",
"disableAppTimeout": true
}
]
}
ハイブリッドReact Nativeとターボモジュールのデバッグ
{
"version": "0.2.0",
"configurations": [
{
"name": "(script) Attach",
"type": "kepler",
"request": "attach",
"cwd": "${workspaceFolder}",
"deviceId": "${command:kepler.state.getSelectedDeviceId}"
},
{
"name": "(native) Attach",
"type": "keplerNative",
"request": "attach",
"cwd": "${workspaceFolder}",
"deviceId": "${command:kepler.state.getSelectedDeviceId}",
"debugger": "gdb"
}
],
"compounds": [
{
"name": "Hybrid Debugger",
"configurations": ["(native) Attach", "(script) Attach"]
}
]
}
compoundsセクションでは、複数のデバッグ構成を同時に実行できるため、React Nativeとネイティブコードの両方を一緒にデバッグするのに役立ちます。構成スニペット
| 名前 | 説明 | 使用するタイミング |
|---|---|---|
| (script) Launch | 選択したデバイスでKepler向けReact Nativeをデバッグする | JavaScript/TypeScriptコードの新しいデバッグセッションを開始する |
| (script) Launch - Perf | パフォーマンスモニタリング機能付きのリリースモードで起動する | パフォーマンス分析(Vega仮想デバイスでは使用できません) |
| (script) Attach | React Nativeのデバッグ用に実行中のKeplerアプリを接続する | 実行中のアプリに対して、JavaScript/TypeScriptコードをデバッグする |
| (native) Launch | 選択したデバイスでターボモジュールのネイティブコードをデバッグする | ネイティブC++コードをデバッグするための新しいセッションの開始する |
| (native) Attach | 実行中のアプリに接続してネイティブコードのデバッグを行う | 実行中のアプリに対して、ネイティブC++コードをデバッグする |
アプリのデバッグ
デバッガーを構成してブレークポイントを設定した後に、選択したターゲットデバイスでアプリのデバッグを開始します。デバッグプロセス自体はいずれのデバイスでも大きな違いはありませんが、デバイスの選択が異なります。
Vega仮想デバイスでのデバッグ
- サイドバーから[仮想デバイス]を選択します。
- [実行とデバッグ] に移動します。
- ドロップダウンから [(script)Launch] 設定を選択します。
- [再生] アイコンをクリックするか、F5キーを押します。
Vega Studioは、Vega仮想デバイス上でアプリをパッケージ化し、読み込んで実行します。実行がブレークポイントに達すると、VS Codeはデバッグモードに入り、デバッグツールバーが表示されます。

Fire TV Stickでのデバッグ
- ターゲットとしてFire TV Stickを選択します。
- [実行とデバッグ] に移動します。
- ドロップダウンから [(script)Launch] 設定を選択します。
- [再生] アイコンをクリックするか、F5キーを押します。
Vega Studioは、Fire TV Stick上でアプリをパッケージ化し、読み込んで実行します。実行がブレークポイントに達すると、VS Codeはデバッグモードに入り、デバッグツールバーが表示されます。
デバッグツールバーのアクション
デバッグツールバーには、デバッグセッション中に実行できるアクションが表示されます。

| アクション | 説明 |
|---|---|
| 続行/一時停止 | 次のブレークポイントまで実行を再開するか、現在の実行を一時停止します |
| ステップオーバー | 細部に入らずに次のメソッドを実行する |
| ステップイン | 1行ずつデバッグするため次のメソッド内に入る |
| ステップアウト | 現在のメソッドを完了して呼び出し元に戻る |
| 再起動 | 現在の構成でデバッグセッションを再起動する |
| Stop | デバッグセッションを終了する |
トラブルシューティング
デバッグの問題については、デバッグに関する問題の修正を参照してください。
関連トピック
Last updated: 2025年9月30日

