OS のタスクテーブル、または特定のタスクの詳細情報を表示します。
グローバルタスクリストは、TRACE32® のハイパーバイザ対応デバッグの心臓部です。これは、ゲスト OS とハイパーバイザの全てのタスク/プロセス/スレッドをリストします。PowerView は、VM が現在アクティブでなくても、GUI 上で任意のタスクのコンテキストを視覚化することができます。
弊社のTRACE32® OS-awareデバッグは、LinuxのようなリッチOS、リアルタイムOS(RTOS)、AUTOSAR規格に基づく製品のような業界固有のOS、または全てのOSが混在している場合でも、アプリケーションとそれらが動作しているOSに関するいくつかの重要な洞察を提供します。
複数のOSがハイパーバイザによって制御されている仮想化システムでは、TRACE32® Hypervisor-aware debuggingにより、各ゲストOS/仮想マシン(VM)に対してOSを意識したデバッグを同時に実行し、システム全体の概要を表示することができます。静的ハイパーバイザに加え、動的ハイパーバイザもサポートしており、VMにメモリリソースとコアを動的に割り当てます。
当社のTRACE32®ツールは、ハイパーバイザーやOSの構造やデータへのアクセスを提供し、それらがどのように動作し、チップリソースを利用しているかをより良く理解することができます。
TRACE32® OS認識機能は、あらゆる種類の組み込みOSに対応しています。リッチOSだけでなく、RTOSや組み込みアプリケーションで使用される最も一般的なオープンソースOSや商用OSの全てをサポートしています。
ユーザー・アプリケーションからデバイス・ドライバまで、ソフトウェア・スタック全体をデバッグし、スレッドやメッセージ・キューなどのOSオブジェクトをすべて照会して表示します。仮想化システムでは、すべてのVMとそのアプリケーションを同時にデバッグできます。
当社のTRACE32®ツールは、シンボリック関数コールトレースや詳細なパフォーマンス解析機能を含む、多くの洗練されたリアルタイム解析機能を提供します。また、ハイパーバイザー制御の仮想化システムでも利用可能です。
弊社のTRACE32®ツールは、OSオブジェクトの現在の状態を静的に表示するだけでなく、OSタスクのスケジューリング解析のように、OSオブジェクトの動的な挙動を経時的に表示することができます。
単一のOSインスタンスを共有するSMPクラスタのAMPシステムだけでなく、各コアが独自の(異なる)OSを実行するヘテロジニアスなAMPシステムもデバッグできる。
TRACE32®PowerView GUIは、シミュレーションにおいても実際のハードウェアと同じデバッグ体験を提供します。ツールにとらわれないコンセプトにより、バーチャル、フィジカルを問わず、同じ体験が得られます。
ハイパーバイザ、OS、アプリケーションの全てのコンポーネントに即座にアクセスできるため、TRACE32®のハイパーバイザ及びOS認識技術はデバッグ作業を大幅に簡素化します:タスク、スレッド、セマフォ、メールボックスなどのシステムオブジェクトを表示したり、タスクを意識したブレークポイントを設定したり、タスクを意識したパフォーマンス監視を実行することができます。OSがMMU(メモリ管理ユニット)を使用している場合、当社のデバッガはOSのMMUテーブルからの情報を使用してコードとデータにアクセスし、それをウォークスルーして有効な論理-物理変換を見つけることができます。
各機能が使用可能かどうかは、使用するチップの仕様やお使いのTRACE32®製品によって異なります。詳しくは以下のスライドをご覧ください。
OS のタスクテーブル、または特定のタスクの詳細情報を表示します。
グローバルタスクリストは、TRACE32® のハイパーバイザ対応デバッグの心臓部です。これは、ゲスト OS とハイパーバイザの全てのタスク/プロセス/スレッドをリストします。PowerView は、VM が現在アクティブでなくても、GUI 上で任意のタスクのコンテキストを視覚化することができます。
タスクのスタック使用率をカバーするために、このウィンドウは全てのアクティブなタスクとそのスタックポインタアドレス、最大スタック使用量、スタック領域、スタック使用率を表示します。
使用するOSに応じて、プロセス、スレッド、キュー、セマフォ、タイマー、イベント・グループ、ストリーム・バッファ、メッセージ・バッファ、カーネル・ドライバ、カーネル・ログ・バッファなど、さまざまなカーネル・リソースを表示できます。
異なるタスクに費やされた時間をタスク実行時間チャートとして表示します。 プログラムのクリティカル・パスにどれだけの時間が費やされているかを見ることができ、割り込みやタスクの優先順位付けに起因する課題を簡単に特定できます。
ここでは、タスクの実行時間を分析できる。これには、タスクの総実行時間とCPU使用率、カウント、タスクがスケジュールされた頻度、タスクがスケジュールされた最短、最長、平均時間が含まれる。
関数ネスティングのグラフィカルツリー表示。関数の最小実行時間、最大実行時間、平均実行時間、総実行時間、実行回数、総実行時間に占める割合が表示されます。
オペレーティング・システム、ライブラリ、アプリケーションのコール・スタック(ローカル・データ・ストレージ、パラメータ・パッシング、サブルーチンやブロックのコンテキスト、リターン・ステートなど)の表示。これは、プロセスのコンテキストを分析したり、スレッドの現在の状態を調べたりするのに便利です。コールスタックは、アプリケーションが特定のOSイベントを待機しているかどうか、どこで待機しているかを明確に示します。
OS コードを含むモジュールに関するコード・カバレッジの解析結果を表示します。複数のコード・カバレッジ・メトリクスを分析し、選択したメトリクスと含まれるすべてのメトリクスの結果を表示することもできます。例えば、MC/DC メトリクスには、コンディション、デシジョン、ステートメントのカバレッジも含まれます。
OS のタスクテーブル、または特定のタスクの詳細情報を表示します。
グローバルタスクリストは、TRACE32® のハイパーバイザ対応デバッグの心臓部です。これは、ゲスト OS とハイパーバイザの全てのタスク/プロセス/スレッドをリストします。PowerView は、VM が現在アクティブでなくても、GUI 上で任意のタスクのコンテキストを視覚化することができます。
タスクのスタック使用率をカバーするために、このウィンドウは全てのアクティブなタスクとそのスタックポインタアドレス、最大スタック使用量、スタック領域、スタック使用率を表示します。
使用するOSに応じて、プロセス、スレッド、キュー、セマフォ、タイマー、イベント・グループ、ストリーム・バッファ、メッセージ・バッファ、カーネル・ドライバ、カーネル・ログ・バッファなど、さまざまなカーネル・リソースを表示できます。
異なるタスクに費やされた時間をタスク実行時間チャートとして表示します。 プログラムのクリティカル・パスにどれだけの時間が費やされているかを見ることができ、割り込みやタスクの優先順位付けに起因する課題を簡単に特定できます。
ここでは、タスクの実行時間を分析できる。これには、タスクの総実行時間とCPU使用率、カウント、タスクがスケジュールされた頻度、タスクがスケジュールされた最短、最長、平均時間が含まれる。
関数ネスティングのグラフィカルツリー表示。関数の最小実行時間、最大実行時間、平均実行時間、総実行時間、実行回数、総実行時間に占める割合が表示されます。
オペレーティング・システム、ライブラリ、アプリケーションのコール・スタック(ローカル・データ・ストレージ、パラメータ・パッシング、サブルーチンやブロックのコンテキスト、リターン・ステートなど)の表示。これは、プロセスのコンテキストを分析したり、スレッドの現在の状態を調べたりするのに便利です。コールスタックは、アプリケーションが特定のOSイベントを待機しているかどうか、どこで待機しているかを明確に示します。
OS コードを含むモジュールに関するコード・カバレッジの解析結果を表示します。複数のコード・カバレッジ・メトリクスを分析し、選択したメトリクスと含まれるすべてのメトリクスの結果を表示することもできます。例えば、MC/DC メトリクスには、コンディション、デシジョン、ステートメントのカバレッジも含まれます。
オペレーティングシステムをデバッグするには、デバッガによる特別なサポートが必要だ。デバッガはオペレーティングシステムを "認識 "する必要があります。TRACE32®デバッグ/トレースツールは幅広いターゲットオペレーティングシステムをサポートしているため、この特別なサポートはデバッガソフトウェアに静的にリンクされているのではなく、どのオペレーティングシステムが使用されているかに応じて、拡張機能として動的にロードされます。
TRACE32 OS-Awareness についてもっと知る
OSデバッグ機能を提供するファイル群は「アウェアネス」と呼ばれる。タスクリストを読んだり、プロセスやモジュールのデバッグを可能にするために、OSアウェアネスはカーネルシンボルを使用してOSカーネルの内部構造にアクセスします。TRACE32 OSアウェアネスとTRACE32 MMUサポートにより、ユーザーはプロセスの境界を越えてシームレスにデバッグできる: 各プロセスの仮想アドレス空間に直接アクセスし、各プロセスの現在のレジスタ・セットとスタック・フレームを表示することができる。OS固有の拡張をロードした後、TRACE32®PowerView ソフトウェアは、オペレーティングシステムのデバッグを簡素化する追加コマンド、オプション、表示を提供します。
TRACE32 ハイパーバイザーの認識についての詳細
仮想化のコンセプトは、単一のハードウェアプラットフォーム上で複数のオペレーティング・システムを並行して実行することを可能にする。仮想化の中核であるハイパーバイザーは、すべてが確実かつ効率的に動作することを保証する。ハイパーバイザーは2つのタスクを果たすソフトウェア層である:仮想マシン(VM)の起動と管理、そしてVM用の物理ハードウェアリソースの仮想化だ。VM内で稼働するオペレーティング・システムはゲストOSと呼ばれる。仮想化されたハードウェアリソースへのゲストによるすべてのアクセスは、ハイパーバイザーによって物理リソースにマッピングされる。
TRACE32® hypervisor-awarenessを使用することにより、デバッガはハイパーバイザのVMを検出し可視化します。最も重要な目的は、システム全体のシームレスなデバッグです。つまり、システムがブレークポイントで停止したときに、すべてのプロセス、すべてのVM、さらにハイパーバイザーと実際のハードウェア・プラットフォームの現在の状態をチェックし、変更することができます。さらに、コード内の任意の場所にプログラムのブレークポイントを設定できます。
自動車産業におけるAUTOSARベースのセーフティクリティカルな(マルチコア)マイコン/マイクロプロセッサシステムでは、機能安全を証明するために高度な解析技術が要求されます。当社のTRACE32® デバッグ/トレースツールは、TRACE32® AUTOSAR OS認識機能により、このようなシステムに対する深い洞察を可能にするだけでなく、最も重要なAUTOSARツールベンダーとの長年の協力関係により、高度なタイミング解析ソリューションも提供しています。
TRACE32®は、組込みアプリケーションで使用される一般的なオープンソース、商用リアルタイムOS、リッチOSを全てサポートしており、合計80以上のOSをサポートしています。
TRACE32® ソフトウェアパッケージには、FreeRTOS リアルタイムカーネル用のコンフィギュレーションが含まれています。FreeRTOSを認識することで、タスクリストやその他のカーネル情報に簡単にアクセスすることができ、性能解析データを生成し、FreeRTOSが動作しているターゲット上でTRACE32®システムを用いて最も効果的なデバッグを行うことができます。
もっと見るTRACE32®ソフトウェアパッケージには、Linuxオペレーティングシステム用のコンフィギュレーションが含まれています。Linuxを意識することにより、タスクリストやその他のカーネル情報に簡単にアクセスでき、性能解析データを生成し、Linuxが動作するターゲット上でTRACE32®システムを使用した最も効果的なデバッグを行うことができます。
もっと見るTRACE32® ソフトウェアパッケージには、SYSGO AGのPikeOS リアルタイムオペレーティングシステム用のコンフィギュレーションが含まれています。PikeOSを認識することで、タスクリストやその他のカーネル情報に簡単にアクセスでき、性能解析データを生成し、PikeOSまたはPikeOS MPUが動作するターゲット上でTRACE32®システムを用いて最も効果的なデバッグを行うことができます。
もっと見る弊社のTRACE32® ソフトウェアパッケージには、BlackBerry社のQNX Real Time Kernel用のコンフィギュレーションが含まれています。BlackBerry社との密接な協力により、高度なQNX認識機能を構築し、QNXが動作するターゲット上でTRACE32®システムによる最も効果的なデバッグを可能にしました。
もっと見る弊社のTRACE32®ソフトウェアパッケージには、Wind River社のVxWorksリアルタイムカーネル用のコンフィギュレーションが含まれています。ウインドリバー社との緊密な協力により、高度に洗練されたVxWorks認識を構築し、VxWorksが動作するターゲット上でTRACE32®システムによる最も効果的なデバッグを可能にしています。
もっと見るTRACE32®ソフトウェアパッケージには、オープンソースのZephyrOS リアルタイムオペレーティングシステム用のコンフィギュレーションが含まれています。ZephyrOSを認識することで、タスクリストやその他のカーネル情報に簡単にアクセスでき、性能解析データを生成し、ZephyrOSが動作するターゲット上でTRACE32®システムを用いて最も効果的なデバッグを行うことができます。
ここでは、80以上のサポートされている各オペレーティングシステムをご覧いただけます。
ターゲットOSを見つけるTRACE32® は組込みアプリケーションにおいて、オープンソース及び商用のスタティック及びダイナミックハイパーバイザを幅広くサポートしています。スタティックハイパーバイザはリソースを静的に分割し、システムのインスタンス化時に割り当てますが、ダイナミックハイパーバイザはリソースを動的にVMに割り当てます。メモリは通常、MPUまたはMMUによって実行される2段階の変換を使用してVMに割り当てられる。ダイナミックハイパーバイザのサポートは、組込み業界におけるTRACE32®ツールのユニークな特徴です。
機密保持などの理由でOS-aware Debuggingをすぐにサポートできないオペレーティングシステムでも、TRACE32® ツールを使用することができます。
TRACE32®PowerView GUIには、Extensionと呼ばれるカスタマイズ機能を追加するためのメカニズムが用意されています。Extensionでは、API関数を呼び出して、(RT)OSカーネルリソース(タスクリスト等)の表示、タスクを意識した統計解析、タスク固有のスタックカバレッジ等、様々な機能を実装することができます。
これにより、OSを意識したデバッグを簡単に実装することができます。拡張機能を構築するために必要なツールは全てExtension Development Kit (EDK)に含まれています。
弊社(Lauterbach GmbH)は、弊社のウェブサイト上でクッキーおよび同様の技術を使用しています。これらの中には、技術的に必要なもの(セッションクッキーやショッピングカートクッキーなど)もありますが、必要でないものもあり、当社のオンラインプレゼンスの向上や経済的な運営に役立っています。
More information