Windows CE 6の全貌

Windows CE 6の全貌 第3回

リモートデバッグとリモートツールの活用

杉本 拓也 / 松井 俊訓(Microsoft MVP - Windows Embedded)
 株式会社富士通ソフトウェアテクノロジーズ 2006/10/3

VS2005を使えば、ターゲットデバイス上のWindows CE 6をリモートデバッグできる。そのための準備と操作方法、各種リモートツールの使用法を紹介する。(編集部)

- PR -

 前回は、Visual Studio 2005を利用してOSイメージを作成し、それを起動するところまでを解説しました。今回はOSのリモートデバッグおよびリモートツールの解析手法について解説します。

リモートデバッグとカーネルデバッグ

 Visual StudioやeMbedded Visual C++には、開発マシンとターゲットデバイスを接続し、ビルドしたアプリケーションを開発マシンからターゲットデバイスへ転送したり、リモートデバッグする機能があります。リモートデバッグでは、PC上で動作するWindowsアプリケーションと同じように、リモートでステップ実行や変数の監視が可能です。

 OSイメージもアプリケーションと同じように、リモートデバッグを行うことができます。OSイメージのデバッグを行うことを「カーネルデバッグ」と呼びます。カーネルデバッグでは、OSモジュールやデバイスドライバ、アプリケーションのデバッグが可能です。当然のことながら、ソースコード上にブレークポイントを設定してのステップ実行や変数の参照が可能です。

 ターゲットデバイスとの接続はイーサネット、USB、シリアルケーブルなどを利用します。接続の際は、「KITL(Kernel Independent Transport Layer)」という機能を利用します。これは名前のとおり、OSカーネルから独立した接続レイヤで開発マシンとターゲットデバイスを接続する機能です。

カーネルデバッグ対応イメージの作成

 カーネルデバッグを行うには、カーネルデバッグをサポートするOSイメージを構築する必要があります。つまり、OSイメージもアプリケーションと同じように、「リリース版」「デバッグ版」の作成が可能です。

画面1 ビルド方法の選択。「Debug」「Release」の区別があることが分かる

 カーネルデバッグ対応イメージの設定は、Visual Studio 2005の[Solution Explorer]の[ワークスペース名](ここでは[MyOSImage])を右クリックし、[Properties]を選択します。

画面2 Solution Explorerで開いたコンテキストメニュー

 [ワークスペース名 Properties Page]ダイアログが表示されます。左側のツリービューで[Configuration Properties]−[Build Options]を選択し、右側の[Build Options]リストで[Enable Kernel Debugger]のチェックボックスを有効にします。また、前述のKITLを有効にするために[Enable KITL]も有効にします。

画面3 ビルドオプションの設定(画像をクリックすると拡大します)

 

 この2つのチェックボックスを有効化した状態でビルドすると、カーネルデバッグに対応したOSイメージが生成されます。

ターゲットデバイスとの接続

 次に、Visual Studio 2005とターゲットデバイスを接続するための設定を行います。[Target]メニューで[Connectivity Options]を選択すると、[Target Device Connectivity Options]ダイアログが表示されます。

  • [Download]コンボボックス:接続方法
  • [Transport]コンボボックス:接続で利用するトランスポート

をそれぞれ設定します。ここではエミュレータに接続するため、[Download][Transport]ともに[Device Emulator(DMA)]を選択しています。なお、カーネルデバッガを利用する場合、[Debugger]コンボボックスは[KdStub]を選択します。

画面4 [Target Device Connectivity Options]ダイアログ

 

 設定が完了したら、ターゲットデバイスと実際に接続します。[Target]メニューで[Attach Device]をクリックするとターゲットデバイスと接続し、OSイメージが転送された後にOSを起動します。

画面5 OSイメージ転送中

 

 カーネルデバッガを有効にしている場合は、起動時にデバッグサービスも開始されます。

画面6 エミュレータ上で起動したWindows CE 6(画像をクリックすると拡大します)

 この時点でKITLとカーネルデバッガが有効になっていれば、自動的にデバッグ接続が確立され、Visual Studio 2005とターゲットデバイス間でリモートデバッグできる状態になります。画面7は、ディスプレイドライバの初期化コードにブレークポイントを設定して、ステップ実行している画面です。変数ビューにて、ブレークしている個所の変数を参照できます。

画面7 リモートでステップ実行している画面(画像をクリックすると拡大します)

メールマガジン

スキルアップ/キャリアアップ(JOB@IT)

スポンサーからのお知らせ

@IT MONOist 求人情報