リモートデバッグとリモートツールの活用:Windows CE 6の全貌(3)(1/3 ページ)
VS2005を使えば、ターゲットデバイス上のWindows CE 6をリモートデバッグできる。その準備方法やリモートツールの使用法を紹介する
前回は、Visual Studio 2005を利用してOSイメージを作成し、それを起動するところまでを解説しました。今回はOSのリモートデバッグおよびリモートツールの解析手法について解説します。
リモートデバッグとカーネルデバッグ
Visual StudioやeMbedded Visual C++には、開発マシンとターゲットデバイスを接続し、ビルドしたアプリケーションを開発マシンからターゲットデバイスへ転送したり、リモートデバッグする機能があります。リモートデバッグでは、PC上で動作するWindowsアプリケーションと同じように、リモートでステップ実行や変数の監視が可能です。
OSイメージもアプリケーションと同じように、リモートデバッグを行うことができます。OSイメージのデバッグを行うことを「カーネルデバッグ」と呼びます。カーネルデバッグでは、OSモジュールやデバイスドライバ、アプリケーションのデバッグが可能です。当然のことながら、ソースコード上にブレークポイントを設定してのステップ実行や変数の参照が可能です。
ターゲットデバイスとの接続はイーサネット、USB、シリアルケーブルなどを利用します。接続の際は、「KITL(Kernel Independent Transport Layer)」という機能を利用します。これは名前のとおり、OSカーネルから独立した接続レイヤで開発マシンとターゲットデバイスを接続する機能です。
カーネルデバッグ対応イメージの作成
カーネルデバッグを行うには、カーネルデバッグをサポートするOSイメージを構築する必要があります。つまり、OSイメージもアプリケーションと同じように、「リリース版」「デバッグ版」の作成が可能です。
カーネルデバッグ対応イメージの設定は、Visual Studio 2005の[Solution Explorer]の[ワークスペース名](ここでは[MyOSImage])を右クリックし、[Properties]を選択します。
[ワークスペース名 Properties Page]ダイアログが表示されます。左側のツリービューで[Configuration Properties]−[Build Options]を選択し、右側の[Build Options]リストで[Enable Kernel Debugger]のチェックボックスを有効にします。また、前述のKITLを有効にするために[Enable KITL]も有効にします。
この2つのチェックボックスを有効化した状態でビルドすると、カーネルデバッグに対応したOSイメージが生成されます。
ターゲットデバイスとの接続
次に、Visual Studio 2005とターゲットデバイスを接続するための設定を行います。[Target]メニューで[Connectivity Options]を選択すると、[Target Device Connectivity Options]ダイアログが表示されます。
- [Download]コンボボックス:接続方法
- [Transport]コンボボックス:接続で利用するトランスポート
をそれぞれ設定します。ここではエミュレータに接続するため、[Download][Transport]ともに[Device Emulator(DMA)]を選択しています。なお、カーネルデバッガを利用する場合、[Debugger]コンボボックスは[KdStub]を選択します。
設定が完了したら、ターゲットデバイスと実際に接続します。[Target]メニューで[Attach Device]をクリックするとターゲットデバイスと接続し、OSイメージが転送された後にOSを起動します。
カーネルデバッガを有効にしている場合は、起動時にデバッグサービスも開始されます。
この時点でKITLとカーネルデバッガが有効になっていれば、自動的にデバッグ接続が確立され、Visual Studio 2005とターゲットデバイス間でリモートデバッグできる状態になります。画面7は、ディスプレイドライバの初期化コードにブレークポイントを設定して、ステップ実行している画面です。変数ビューにて、ブレークしている個所の変数を参照できます。
Copyright © ITmedia, Inc. All Rights Reserved.