CDT/RSEによるクロスコンパイルとリモートデバッグ生産性向上への道 Eclipseで行うC/C++開発(3)(4/4 ページ)

» 2007年10月30日 00時00分 公開
[小泉健(NEC) ,@IT MONOist]
前のページへ 1|2|3|4       

RSE/CDTを利用したリモートデバッグ

 RSEとCDTを利用することで、リモートデバッグに関する下記のような作業が自動化されます。

  • リモートマシンへのアプリケーションのファイル転送
  • アプリケーションのパーミッション設定(実行権限の付与)
  • アプリケーションへのアタッチ(gdbserverを利用します)

 先ほど作成した接続「sample」を利用して、クロスコンパイルしたアプリケーションをリモートデバッグしてみます。

 ローカルデバッグのときと同様に、実行形式ファイルを選択した状態で、メニューの[実行]−[構成およびデバッグ]を選択し、[構成およびデバッグ]画面を開きます。今回は「C/C++ Remote Application」を右クリックして、[新規]ボタンをクリックします。CDTが自動で実行形式ファイルを検索して、初期のデバッグ構成を作成します。

 デフォルトでは、「C/C++アプリケーション用のリモートパス」が設定されていないので、リモートターゲットのパス+アプリケーション名を設定します。以下ではリモートパスに「/home/myuser/MyApplication」を設定しました(画面20)。

リモートパスの設定 画面20 リモートパスの設定

 次に[デバッガー]タブの「Gdbサーバセッティング」のポート番号を確認します。本記事では、「2345(デフォルト)」を使用します。そのほかの値を利用する場合には変更してください。

 これでリモートデバッグの設定が完了しましたので、[デバッグ]ボタンをクリックします(画面21)。

「Gdbサーバセッティング」のポート番号を確認 画面21 「Gdbサーバセッティング」のポート番号を確認

 ローカルデバッグ同様にデバッグパースペクティブが自動的に起動し、Eclipse上でグラフィカルなデバッグが可能となります。実際にはRSEにより、自動的にアプリケーションがリモートマシンに転送されて実行されます。

 このようにCDTとRSEを利用することで、ローカルデバッグと同じように、簡単にリモートマシンでのデバッグが行えることをご理解いただけたと思います。なお、デバッグの手順は前回の内容を参照してください。

RSEのそのほかの機能

 RSEでは、リモートデバッグ以外にもさまざまな機能を提供しています。

リモートマシンのファイル操作

 [リモートシステム]ビューにて、リモートマシンのファイルシステム情報が参照できます。

 [リモートシステム]ビューでは、Windowsのエクスプローラと同様に、ファイルの新規作成やコピー&貼り付けなどのさまざまな操作が可能です。ローカルマシンからリモートマシンへのファイルコピーも、コピー&貼り付けの操作だけで実現できます。

 ファイルの転送モードはファイルの拡張子単位で設定が可能です。メニューの[ウィンドウ]−[設定]にて設定画面を起動後に、[Remote Systems]−[ファイル]を選択して転送モードを設定します(画面22)。デフォルトは“バイナリー転送モード”で、HTML系のファイルだけが“テキスト転送モード”で設定されています。

ファイルの転送モードの設定 画面22 ファイルの転送モードの設定

 [リモートシステム詳細]ビューでは、[リモートシステム]ビューよりもさらに詳細なデータを表示します。

 [リモートシステム詳細]ビューを表示するには、詳細なデータを表示したいディレクトリの右クリックメニューから[テーブルに表示]を選択します(画面23)。

[リモートシステム詳細]ビュー 画面23 [リモートシステム詳細]ビュー

 [リモートシステム詳細]ビューでは、ツリービューと同様にファイル操作が可能であるとともに、表示データのソートなどが可能です。

リモート検索

 Eclipse上からリモートマシン上のファイルを検索できます。

 リモートマシン上のファイルを検索するには、メニューの[検索]−[リモート]を選択し、リモート検索ウィンドウを表示します。リモート検索ウィンドウは、ディレクトリの右クリックメニューの[検索]からも表示できます。リモート検索では、検索条件として、以下を指定できます。

  • 検索文字列
  • ファイル名パターン
  • 検索対象フォルダ
  • 圧縮ファイルを対象とする/しない
  • サブフォルダを検索対象とする/しない

 検索条件を指定して、[検索]をクリックすると、検索結果が[リモート検索]ビューに表示されます(画面24)。[リモート検索]ビューでも、ツリービュー、テーブルビューでのフォルダ/ファイルと同等の操作が可能です。

[リモート検索]ビュー 画面24 [リモート検索]ビュー

フィルター設定

 RSEでは任意のフィルターが設定可能で、使用頻度の高いファイル、ディレクトリのみを抽出して表示することが可能です。デフォルトでは、My Home(ログインディレクトリ)、Root(トップディレクトリ)のフィルターが用意されています。

 新しいフィルターを作成するには、フィルターを作成したいディレクトリを右クリックし、[新規作成]−[フィルター]を選択して、フィルター設定画面にて条件を指定します(画面25)。

新しいフィルターの作成 画面25 新しいフィルターの作成

リモートマシンのコマンド実行

 Eclipse上からリモートシステムのシェルを通じてコマンドを発行することが可能です。コマンドを実行したいディレクトリを右クリックして、[シェルの起動]を選択。[リモートシェル]ビューが起動します(画面26)。

[リモートシェル]ビュー 画面26 [リモートシェル]ビュー

 [リモートシェル]ビューの「コマンド」に実行したいコマンドを入力し、[Enter]キーを入力することでコマンドが実行されます。コマンドの実行結果は[リモートシェル]ビューに表示されます。ちなみに、画面27は“pwd”コマンドを実行した例です。

[リモートシェル]ビューにコマンドを入力 画面27 [リモートシェル]ビューにコマンドを入力

プロセスの表示とシグナルの送信

 リモートマシンのプロセスを一覧表示し、選択したプロセスにシグナルを送信できます。

 プロセスデータは[リモートシステム]ビューの接続名配下にある、「プロセス」ツリーから参照できます。プロセスIDなどのさまざまなプロセスに関する情報が表示できます。

 プロセスにシグナルを送信するには、プロセスを選択し、右クリックメニューから[消滅]を選択します。

 [消滅シグナルの送信]ダイアログで「シグナルタイプ」を選択して、[消滅]ボタンをクリックすれば、プロセスに対してシグナルを送信できます(画面28)。

[消滅シグナルの送信]ダイアログ 画面28 [消滅シグナルの送信]ダイアログ

 以上がRSEの機能になります。RSEを利用することで、FTPソフトやターミナルソフトウェアを使わなくてもEclipse上からリモートマシンへのファイル転送やリモートマシン上のファイル操作、コマンドの実行ができるようになり、リモートマシンを使う開発において作業効率を向上させます。



 次回は、「eclox」と「doxygen」を使ったドキュメントの自動生成について解説します。(次回に続く)

前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.