Get in Touch
  • If you’re interested in a Wind River product, simply answer a few questions and we’ll get in touch right away.
  • If you’d like to speak with someone immediately, call our number for sales inquiries below.

    Toll-free: 800-545-WIND (800-545-9463)

Thank You

Thank you for taking the time to contact us while visiting our website.

A Wind River sales representative will contact you shortly.

リバースエクセキューションへの回帰


投稿者:Jakob Engblom, 2013/06/20

Simicsのリバースエクセキューションとリバースデバッギングは、ユニークで非常に人気のあるシミュレータ機能です。今回のブログ記事や関連するビデオでは、Simicsのリバースエクセキューションの詳細機能を説明します。これはブレークポイントまで逆走する、またはインストラクションをコマ送りで実行するだけではありません(リバースリデバッギングに関する詳細は、私の2012年のS4Dの記事を参照してください)。リバースエクセキューションとは基本的にはターゲット上での任意の操作を取り消し、過去のある時点からそれより前の時点に戻ることです。さらにSimicsでは、ある時点まで戻って最初の実行時とは異なる操作を行うことができます。今回のブログ記事では、リバース機能について説明します。

リバースエクセキューションの基本操作は、システム実行中のある時点で停止し、過去のある時点まで逆戻りし、動作を確認して再度前進するというものです。リバースエクセキューションによって、実行内容を前後に進み、特定の実行パスを詳細に調査することができます。

Simicsではシステム全体がリバースされるという点が重要です。ハードウェアデバイスの状態、オペレーティングシステム、ディスクの中身、ハイパーバイザ、ユーザーアプリケーション、すべてのユーザースレッドとカーネルスレッド、シミュレーションネットワーク内でのネットワークトラフィック、そしてシステムを構成するすべてのボードもリバースされます。gdbリバースデバッギングのような特定のユーザー領域プロセスや、Microsoft.netソリューションのような特定言語の仮想マシンに限定されたソリューションではありません。Simicsではシステム全体を対象とするのが常です。

同時にリバースを行うだけでなく、特定時点にジャンプバックすることができます。この機能をSimics 4.8の新しいセッションコメント機能と統合することで、システム実行中に誰かが残したコメントまでジャンプバックして、特定の時点の状態を知ることができます。リバースエクセキューションには当然のことながら従来と同様なブックマーク機能がありますが、その目的は異なります。システムセットアップへのチェックポイントの設定やそれを伝えるために使用するのではなく、簡単なメモとしてデバッグセッション内で使用します。

Simicsのリバースエクセキューション履歴は軽量なため、特定の時点に戻り、システムパスを変更することもできます。基本的には、シミュレータと外部のインタラクションだけが保存されます。シミュレータの内部動作は確定的(deterministic)なので、除外することができます。これによって、実行パスの保存と変更が容易になります。記録された入力履歴を取り除くだけで、システム経路の選択肢が無限になります。

Simicsではシステムの状態を過去のある時点の状態に戻し、記録していた入力履歴を破棄してシステムの新しい経路を選択できます。

リバースエクセキューションのこのような用法はいずれも、Wind River Youtubeチャネルのリバースエクセキューションに関するビデオでご覧いただけます。

リバースデバッギングとリバースエクセキューションの詳細な事例は、過去のブログ記事や関連するビデオを参照してください。

  • 可変性と確定性
  • Simicsによるデバッグのスピードアップ(リバースデバッギングのビデオを含む)
  • Simicsによる物理的シミュレーションを含むシステムリバーシングのビデオ

原文はこちら:http://blogs.windriver.com/wind_river_blog/2013/06/back-to-reverse-execution.html
本社ブログサイト:http://blogs.windriver.com/

Thank You

Wind River, a wholly owned subsidiary of Intel Corporation (NASDAQ: INTC), is a world leader in embedded and mobile software. Wind River has been pioneering computing inside embedded devices since 1981 and its technology is found in more than 500 million products