HPC/並列プログラミングポータルでは、HPC(High Performance Computing)プログラミングや並列プログラミングに関する情報を集積・発信しています。

新着トピックス

インテル アプリケーション・デバッガーを使用したデバッグ

 インテル アプリケーション・デバッガーは、インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートに付属するデバッガだ。標準でGUIによる操作に対応しており、ローカルで実行するアプリケーションだけでなく、リモートデバッグにも対応している。インテル アプリケーション・デバッガーは、通常/opt/intel/atom/idb/<バージョン番号>以下にインストールされている。

 インテル アプリケーション・デバッガーでリモートデバッグを行う場合、リモートマシン上でサーバープログラムを実行しておく必要がある。サーバープログラムはインストールディレクトリ以下の「server」ディレクトリ内に「idbserver_LINUX32」という名前でインストールされているので、これをリモートマシンの適当なディレクトリにコピーする。

cd /opt/intel/atom/idb/2.1.008
scp idbserver_LINUX32 <リモートマシンのIPアドレス>:~/

 次に、リモートマシン側でコピーしたサーバープログラムを実行する。この際、特に引数等を与える必要はない。

$ ./idbserver_LINUX32
Intel(R) Debugger Remote Server for IA32 Linux, Version 1.1.2
Copyright (C) 2006-2009 Intel Corporation. All rights reserved.

Waiting for connection with "tcpip:2000"...  ←使用するポート番号が表示される

 リモート側でサーバーを起動したら、続いてホスト側でインテル アプリケーション・デバッガーを起動する。インストールディレクトリ以下の「bin」ディレクトリにある「idb.sh」が、インテル アプリケーション・デバッガーを起動するためのスクリプトだ。

$ /opt/intel/atom/idb/<バージョン番号>/bin/idb.sh

 インテル アプリケーション・デバッガーが起動したら、「File」メニューの「Connect」を選択する。「Connect」ダイアログが表示されるので、「Hostname / IP Address」欄にリモートマシンのIPアドレスを、「Port Number」に使用するポート番号を入力し、「OK」をクリックしてサーバーに接続しよう。

 サーバーへの接続が成功すると、「File」メニューの「Open Executable」や「Attach To Process」、「Execute Command File」などが選択できるようになる(図3)。リモートデバッグを開始するには、ここで「Open Executable」を選択する。

 「File」メニューの「Open Executable」を選択すると、「Open Executable」ダイアログが表示されるので、ここで実行するアプリケーションなどを設定する(図4)。必要な設定項目は次の表1のとおりだ。

表1 インテル アプリケーション・デバッガーの「Open Executable」ダイアログで設定すべき項目
項目名説明
Executable Fileデバッグ対象とする実行ファイル(ホスト側)
Remote Executable Fileリモート側で実行するファイル
Argumentsタブアプリケーションに与える引数や作業ディレクトリ
Environmentタブ実行時の環境変数
Source Directoriesソースコードが格納されたディレクトリ

 以上を指定して「OK」をクリックすると実行ファイルがロードされる。

インテル アプリケーション・デバッガーの基本操作

 以上の設定が完了した状態で「Run」メニューの「Run Or Rerun」を選択するとデバッグが開始される。プログラムの実行を一時停止したり、ステップ実行といったデバッグ操作は「Run」メニューから行える。

 ソースコード中でブレークポイントを指定するには、まず「View」メニューの「Source Files」を選択してソースファイル一覧を開き、ブレークポイントを設定したいファイルをダブルクリックして表示させる。次にソースコード中でブレークポイントを設定したい個所を右クリックし、メニューから「Set Breakpoint」を選択すれば良い(図5)。

 デバッグの実行中は「View」メニュー内の「Callstack」や「Locals」といった項目が選択可能になり、実行中アプリケーションのさまざまな状態が確認できるようになる(図6、'表2)。

表2 インテル アプリケーション・デバッガーで確認できる項目
項目名説明
Consoleデバッグコンソール
Breakpointブレークポイント一覧
Callstackコールスタック情報
Localsローカル変数の値
Source Filesソースファイル一覧
Threads実行されているスレッド一覧
Memoryアドレスを指定してメモリ内に記録されている情報を閲覧
Registersレジスタの状態
Assembler実行中のアセンブラコード