main () からプロセスをデバッグ - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語

main() から新しいプロセスをデバッグするには、プロセス開始前にグローバル ブレークポイントを設定します (特定のターゲット/コンテキストに対しては設定しません)。シンボル ファイルがパス マップ設定に基づいて読み込まれるので、開始前に新しいプロセスに該当するエントリがあるはずです。

main() からプロセスをデバッグする手順は、次のとおりです。

  1. [Project Explorer] ビューでプロジェクトを選択します。
  2. Debug As > Debug Configurations をクリックします。[Debug Configurations] ビューが表示されます。
  3. Path Map をクリックし、選択したデバッグ コンフィギュレーションのパス マップを設定します。パス マップがあると、ソース レベルのデバッグをイネーブルにしやすくなります。デバッガーはパス マップ設定を使用して、システムに含まれるすべての実行ファイルおよび共有ライブラリのシンボル ファイルを検索およびロードします。
  4. Linux アプリケーションのソース ファイルにライン ブレークポイントを設定するか、main() に関数ブレークポイントを設定します。新しいプロセスが開始するたびに、デバッガーはプロセスのシンボルをチェックして、ソース ファイルまたは main() 関数がシンボルにある場合はプロセスにブレークポイントを設定します。
  5. ターミナルからアプリケーションを実行します。
  6. ブレークポイントに達すると、Debug ビューがそのプロセスの情報で更新されます。
  7. [Debug] ビューには、ファイル、関数、およびブレークポイントの行の情報も表示されます。スレッドがコア上で実行されている場合は、スレッド ラベルに CPU コア名が含まれます。
  8. ステップ イン、ステップ アウト、変数、スタック トレース、およびレジスタの監視など、ソース レベルのデバッグを実行できます。バイナリ パスのターゲット側パスにはマウント ポイント パスが含まれません。これは既知の制限です。たとえば、/mnt にマウントされている SD カードにプロセスがある場合、デバッガーではそのファイルが<filename> と表示され、/mnt/<filename> とは表示されません。