インテル® Xeon Phi™ コプロセッサーでのデバッグ: 使用例
この記事は、インテル® デベロッパー・ゾーンに掲載されている「Debugging on Intel® Xeon Phi™ Coprocessor Use Case Overview」の日本語参考訳です。
はじめに
インテル® Composer XE 2013 Linux* 版に含まれるインテル® デバッガーは、ホストで実行しインテル® Xeon Phi™ にオフロードする、ヘテロジニアス・アプリケーションのコーディングに関する問題を解析し追跡するアプローチを提供します。また、インテル® デバッガーは、コプロセッサー・コードだけをデバッグすることもできます。
インテル® Xeon Phi™ コプロセッサーをサポートする 3 つのデバッグ・ソリューションは次のとおりです。
- インテル® Xeon Phi™ コプロセッサー向けインテル® デバッガーの Eclipse* IDE プラグイン統合
- インテル® 64 およびインテル® Xeon Phi™ コプロセッサー向けインテル® デバッガーのコマンドライン
- インテル® Xeon Phi™ コプロセッサー向け GNU* プロジェクト・デバッガー (GDB*)
最初の 2 つは、インテル® Xeon Phi™ コプロセッサー向けのインテル® Composer XE 2013 に含まれています。GDB* は、インテル® メニーコア・プラットフォーム・ソフトウェア・スタック (インテル® MPSS) に含まれています。最新のインテル® MPSS は、http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss (英語) から入手できます。
この記事では、この 3 つのデバッグ・ソリューションの設定と使用法を説明し、使用モデルと機能を紹介します。これら柔軟なソリューションは、スレッドを多用するヘテロジニアス実行環境において、コーディングに関する問題とランタイムエラーを見つけ、さまざまなデバッグ要件に対するアプローチを提供します。
インテル® デバッガーは、特にスレッドを多用する環境において効率良くデバッグを行い、並列性に関する問題を迅速に見つけられるように、 次の機能を備えています。
- スレッド固有の実行制御
- OpenMP* オブジェクトの表示
- 高度な C++ テンプレート認識
- m512i ベクトルレジスターの表示
- m512i ベクトルレジスターの評価
インテル® Xeon Phi™ コプロセッサー向けインテル® デバッガーの Eclipse* IDE プラグイン統合は、現在、複数のインテル® Xeon Phi™ コプロセッサーを同時使用する環境においてデバッグをサポートしている唯一のデバッグ・ソリューションです。
Eclipse* IDE のデバッグランチャー IDB-MIC は、[Debug Configurations] で定義されています。プロジェクトを開いている Eclipse* IDE から、Eclipse* デバッグ・パースペクティブに切り替えてデバッグを開始できます。オフロード領域に入ると、デバッガーは自動的にインテル® Xeon Phi™ コプロセッサーで実行中のコードのビューとコントロールに切り替えます。
以下の図 1 は、ホストコードとコプロセッサー・コードを同時にデバッグするヘテロジニアス・デバッグ・モデルにおける、オフロードコードのデバッグフローを示しています。
図 1: オフロードプロセスの生成とデバッガーのアタッチフロー
デバッガーのインストールと必要条件
インテル® Xeon Phi™ コプロセッサー向けインテル® デバッガーは、インテル® Composer XE 2013 Linux* 版に含まれており、インストール・パッケージ用のインストール・スクリプトを実行すると自動的にインストールされます。
インストーラーの指示に従ってインストールを行ってください。使用許諾契約書に同意し、インストールする場所とコンポーネントを選択します。
Eclipse* GUI を使用する場合は、以下が必要です。
- X-Windows のサポート
- Java* Runtime Environment (JRE) 1.5 または 1.6 (6.0 とも呼ばれる)。スタンドアロンのデバッグ・ソリューションで Eclipse* フレームワークを使用するのに必要。
- Eclipse* 3.7.x と C/C++ 向けの Eclipse* IDE 7.0 “Helios”、8.0 “Indigo”、または 8.1 “Juno”。Eclipse* へインテル® デバッガーを統合するのに必要。
インテル® Composer XE とインテル® デバッガーのインストールが完了したら、次のコマンドを使用して環境変数の設定を行います。
$ source /opt/intel/composerxe/bin/compilervars.sh intel64
このコマンドを実行すると、インテル® デバッガーの環境も設定されます。
idbvars.sh (/opt/intel/composerxe/bin/idbvars.sh )
環境設定スクリプトのみを使用して設定することは、コードのライブラリー・パスなどがコンパイラー環境に依存する可能性が高いため推奨しません。これらのライブラリー・パスの依存性を正しく解決しておくと、デバッグしやすくなります。
Eclipse* によるインテル® Xeon Phi™ コプロセッサー向けアプリケーションのデバッグ
Eclipse* によるインテル® Xeon Phi™ コプロセッサー向けアプリケーションのデバッグ: 概要
インテル® Composer XE 2013 は、インテル® C++ Composer XE 2013 とインテル® Fortran Composer XE 2013 の機能を拡張して、インテル® Xeon Phi™ コプロセッサーでオフロード実行するコードセクションをあらかじめ定義したり、インテル® Xeon Phi™ コプロセッサーでネイティブ実行するアプリケーションをビルドすることができます。
ヘテロジニアス・アプリケーションのデバッグ・ソリューションは、Eclipse* と CDT (C/C++ 開発キット) への統合プラグインとして提供されます。
すでに CDT が含まれている C/C++ 向けの Eclipse* パッケージをダウンロードすることを推奨します。
Eclipse* ベースのデバッグ・ソリューションは、Eclipse* 3.7 と Eclipse* CDT 8.0 または 8.1 でサポートされています。
Eclipse* ベースのデバッグ・ソリューションを使用するには、X Window System が動作する環境が必要です。
コンパイラーとデバッガーを Eclipse* へ追加する
インテル® C++ コンパイラー Linux* 版は、コンパイラーとインテル® デバッガーを Eclipse* と CDT に統合して、インテル® C/C++ プロジェクトをビジュアルかつインタラクティブな環境で開発、ビルド、デバッグすることができます。
インテル® C++ コンパイラーを Eclipse* の構成に追加するには、次の操作を行います。
- Eclipse* を起動します。
- ワークスペースを選択または作成します。例えば、既存のコードを含む makefile プロジェクトを選択するか作成します。Eclipse* の New Project ウィザードの指示に従ってください。プロジェクト全体をビルドするには、makefiles にルール “all:” が含まれていなければいけません。
- [Help] > [Install New Software] を選択します。
- [Work with] フィールドの隣にある [Add] ボタンをクリックします。
- [Add Site] ダイアログが開きます。
- [Local] ボタンをクリックし、インテルの CDT 統合のディレクトリーを参照します。
• <インストール・ディレクトリー>/eclipse_support/cdt7.0/eclipse
• <インストール・ディレクトリー>/eclipse_support/cdt8.0/eclipse - [OK] をクリックします。
- [Group items by category] をオンにしてください。
- インテル® デバッガー (IDB) を含む、インテルで始まるオプションを選択し、[Next] をクリックします。
- インストール手順に従います。
- Eclipse* の再起動を求められたら、[Yes] を選択します。
Eclipse* が再起動したら、インテル® C++ コンパイラーを使用する CDT* プロジェクトを作成して作業することができます。
ヘテロジニアス・アプリケーションをデバッグする
ヘテロジニアス・アプリケーションとは、インテル® 64 のホスト・プロセッサーとインテル® Xeon Phi™ コプロセッサーの両方でプロセスを実行するアプリケーションのことです。通常、このアプリケーションは、インテル® Xeon Phi™ コプロセッサーでの実行にオフロードモデルを利用します。
ヘテロジニアス・アプリケーションを起動してデバッグするには、インテル® デバッガー用に新しいデバッグ構成を作成する必要があります。
デバッグ構成を作成するには、次の操作を行います。
- [Run] > [Debug Configurations…] を選択します。
- デバッグ構成の種類 (例: C/C++ Application) を選択します。
- [New] ボタンをクリックします。
- 構成の名前を入力します。
- [Main] タブでプロセスランチャーの情報を指定し、[Select other…] をクリックします。[Select Preferred Launcher] ダイアログボックスが表示されます。
- [Use configuration specific settings] チェックボックスをオンにします。
- [UIDB-MIC (DSF) Create Process Launcher] を選択します。
- [OK] をクリックして、[Select Preferred Launcher] ダイアログボックスを閉じます。
- IDB-MIC をデフォルトのランチャーに設定する場合は、[Window] > [Preferences] を選択し、[Run/Debug] を展開して、[Launching] を選択します。そして、デフォルトのランチャーを変更します。
- [Debugger] タブをクリックします。
- [Debugger Options] の下にある [Main] タブをクリックします。[IDB Debugger] フィールドに、デバッガー実行ファイルのパスが正しく指定されていることを確認します。デフォルトでは、[IDB Debugger] には起動スクリプト
idb_mpm
が指定されています。composerxe 環境はすでに source してあるため、変更は不要です。 - [Debug Configurations] ダイアログの [Main] タブに戻ります。
- [C/C++ Application] に、デバッグするアプリケーションのパスを入力します。
- [Apply] をクリックして、構成への変更を保存します。
これで、インテル® デバッガーでインテル® Xeon Phi™ コプロセッサー向けアプリケーションをデバッグするための構成が準備できました。この構成でアプリケーションをデバッグするには、[Debug Configurations] ダイアログボックスで [Debug] をクリックします。あるいは、ダイアログボックスを閉じて、メニューバーから [Run] > [Debug] を選択するか、[Debug] ボタンをクリックします。
- アプリケーションに含まれる共有オブジェクトのシンボル情報にアクセスし、ソースレベルのデバッグを行うには、[Debug Configurations] ダイアログボックスの [Shared Libraries] タブで共有オブジェクトの検索パスを指定する必要があります。
コプロセッサーでオフロードプロセスが起動され、デバッガーがアタッチされると、現在のデバッグ対象コードを実行しているコプロセッサーの番号を示す core:mic
というマークがコプロセッサーのデバッグスレッドに付けられます。ホストで実行しているスレッドは、core:local としてマークされます。 Eclipse* IDE に統合された GUI では、オフロード領域に入る前と同じソースウィンドウとデバッグ環境で、そのままソースコードを検証することができます。
コプロセッサーでのみデバッグする
コプロセッサーでのみデバッグするには、インテル® Xeon Phi™ コプロセッサーで実行しているアプリケーションにアタッチする必要があります。そのためには、インテル® デバッガー用に新しいデバッグ構成を作成します。
コプロセッサーでのみデバッグするには、次の操作を行います。
- [Run] > [Debug Configurations…] を選択します。
- デバッグ構成の種類として [C/C++ Application] を選択します。
- [New] ボタンをクリックします。
- 構成の名前を入力します。
- [Main] タブでプロセスランチャーの情報を指定し、[Select other…] をクリックします。
[Select Preferred Launcher] ダイアログボックスが表示されます。 - [Use configuration specific settings] チェックボックスをオンにします。
- [IDB-MIC (DSF) Attach to Process Launcher] を選択します。
- [OK] をクリックして、[Select Preferred Launcher] ダイアログボックスを閉じます。
- [Debugger] タブをクリックします。
- [Intel® Xeon Phi™ Coprocessor Options] 以下の [Attach to Intel® Xeon Phi™ Coprocessor] チェックボックスをオンにします。
- [Card] メニューからコプロセッサーを選択します。
- [File Location] で、アタッチするプロセスに関連したシンボルファイルを指定します。
- [Debug] をクリックします。
デバッガーが起動され、[Select a Process] ダイアログボックスが開き、実行中のプロセスのリストが表示されます。 - アタッチするプロセスを選択して [OK] をクリックします。
インテル® Xeon Phi™ コプロセッサー向けアプリケーションへのアタッチに使用されるデバッグ構成が設定され、デバッグセッションが起動されます。
無限のワーカーループ
ブレークポイントを使ってデバッグを開始できない場合は、代わりに無限のワーカーループを使用できます。
その場合、コンパイラーによって強力な最適化が行われても、ネイティブ・アプリケーションまたはインテル® Xeon Phi™ コプロセッサーにオフロードされるコード領域が確実に実行されるようにします。以下に、C/C++ の例を示します。
void attach_idb() {
volatile int loop = 1;
do {
volatile int a = 1;
} while (loop);
}
デバッガーをアタッチするのに適した位置でこの関数を呼び出します。
インテル® Xeon Phi™ コプロセッサー向けのインテル® デバッガーはプロセスにアタッチされるため、ターゲットにおいてデバッガーが停止する位置は一定ではありません。そのため、このような処理が必要になります。通常、スケジューラーがホスト側からワークを待機している場所で呼び出します。
オフロードコードでは、代わりに空のオフロードと CPU で読み込みを行うことができます。以下に、Fortran の例を示します。
!dir$ offload begin target(mic)
!dir$ end offload
! 一時変数を読み込む間に インテル® Xeon Phi™ コプロセッサーにアタッチし、値を入力して続行する
! この方法はすべてのケースに適用できるわけではないが、簡単に利用できる
read *, temp
コマンドラインによるインテル® Xeon Phi™ コプロセッサー向けアプリケーションのデバッグ
コマンドラインによるインテル® Xeon Phi™ コプロセッサー向けアプリケーションのデバッグ: 概要
インテル® Xeon Phi™ コプロセッサーでのコマンドライン・デバッグに関する詳細は、次のホワイトペーパーを参照してください。
「Debugging Intel® Xeon Phi™ Coprocessor Targeted Applications on the Command-Line」 (http://software.intel.com/en-us/articles/debugging-intel-xeon-phi-coprocessor-targeted-applications-on-the-command-line)
コマンドラインによるヘテロジニアス・アプリケーションのデバッグ・ソリューションは、2 つの個別のデバッガーで構成されています。
ホストデバッガー
コマンドラインのホストデバッガーは、次のコマンドで起動します。
$ idbc
ターゲットデバッガー
- ヘテロジニアス・アプリケーションの場合: コンパイラー・ランタイムがコプロセッサーで実行するヘテロジニアス・アプリケーションの領域を起動したときに、ターゲットデバッガーを起動します。
- インテル® Xeon Phi™ コプロセッサーでネイティブ実行されるアプリケーションの場合: アプリケーションのデバッグには、このデバッガーを使用します。コマンドラインのターゲットデバッガーは、次のコマンドで起動します。
$ idbc_mic -tco -rconnect=tcpip:mic[n]:port
例えば、デフォルトのポートを使用する 1 つ目の MIC デバイスの場合、以下のコマンドラインを実行します。
$idbc_mic -tco -rconnect=tcpip:mic0:2000
デフォルトのポート:
mic[n] で特定のインテル® Xeon Phi™ コプロセッサーを指定する代わりに、172.31.x.x 形式の IP アドレスを使用することもできます。
–tco
パラメーターは、デバッガーにリモートデバッグ接続を要求します。–rconnect
パラメーターは、デバッガーに通信プロトコル、ターゲット IP アドレス、通信ポートを渡します。
注:
コマンドラインのデバッガーでは、自動アタッチ機能はサポートされていません。アプリケーションのホスト・バージョンとコプロセッサー・バージョンを同時にデバッグする場合は、Eclipse* ベースのデバッグ・ソリューションを使用してください。
コプロセッサーでのみデバッグする
コプロセッサーでアプリケーションを手動で開始し、アタッチする場合は、そのプロセスに無限のワークループを含める必要があります。
場合によっては、コプロセッサーでのみアプリケーションをデバッグすることがあるかもしれません。ヘテロジニアス・アプリケーションの場合は、コプロセッサーでプロセスを開始し、そのプロセスにターゲットデバッガーをアタッチします。インテル® Xeon Phi™ コプロセッサーでネイティブ実行されるように記述されているアプリケーションの場合は、ターゲットデバッガーでアプリケーションを開始します。
- アプリケーションのデバッグビルドをコプロセッサーへアップロードします。
- 次のコマンドを実行して、インテル® Xeon Phi™ コプロセッサー向けのリモートデバッガーをホストで起動します。
idb_mic -tco -rconnect=tcpip:mic[n]:port
コプロセッサーに割り当てられている IP アドレスについては、http://www.intel.com/software/mic にある MPSS ドキュメントを参照してください。
デフォルトのポート番号は 2000 です。
例えば、デフォルトのポートを使用する 1 つ目のインテル® Xeon Phi™ コプロセッサー・デバイスの場合、以下のコマンドラインを実行します。
idb_mic -tco -rconnect=tcpip:mic0:2000
- アプリケーションが同じシステムでビルドされていない場合や、デバッグ情報を含む共有オブジェクトが移動されている場合は、アプリケーション固有のデバッグ情報を検索する場所をデバッガーに知らせる必要があります。次の構文を実行します。
(idb) set solib-search-path path[:path]
例:
(idb) set solib-search-path /usr/linux-k1om-4.7/linux-k1om/lib64/lib:/usr/linux-k1om-4.7/x86_64-k1om-linux/lib64
上記のコマンドを実行することで、デバッガーは正しい Linux* ランタイム・ライブラリーを使用します。
次のように、show コマンドで検索パスに含まれるすべてのディレクトリーのリストを取得できます。
(idb) show solib-search-path
- デバッガーによりアプリケーションを制御します。
- ヘテロジニアス・アプリケーションをデバッグする場合は、アプリケーションを実行して、デバッガーをアタッチします。
- 次のコマンドを実行します。
オフロードコードの場合:
(idb) attach/opt/intel/composerxe/lib/mic/offload_main ネイティブ・アプリケーションの場合:
(idb) attach - インテル® Xeon Phi™ コプロセッサーでネイティブ実行するアプリケーションをデバッグする場合は、デバッガーでアプリケーションを開始します。
1. リモート実行ファイルを指定します。
(idb) file-remote target-bin-path
2. デバッグ情報を含むファイルを指定します。
(idb) file host-bin-path
(idb) run
デバッガーは、アプリケーションを開始するか、アプリケーションのプロセスにアタッチして、停止します。
注:
コプロセッサー向けアプリケーションをデバッグする場合、共有ライブラリー libmyodbl-service.so を手動でアップロードする必要があります。
そのためには、起動時にファイルがアップロードされるようにオーバーレイを作成します。MPSS の readme.txt にあるオーバーレイの使用法に関する説明に従ってください。この例では、オーバーレイを実装するため、次の操作を行う必要があります。
- コプロセッサーで次の項目を含む /etc/sysconfig/mic/conf.d/myo.conf を作成します。
# MYO download files
Overlay / /opt/intel/mic/myo/config/myo.filelist
- デバッグホストで次の項目を含む /opt/intel/mic/myo/config/myo.filelist を作成します。
dir /lib64 755 0 0
file /lib64/libmyodbl-service.so
opt/intel/mic/myo/lib/libmyodbl-service.so 755 0 0
無限のワーカーループ
ブレークポイントを使ってデバッグを開始できない場合は、代わりに無限のワーカーループを使用できます。
その場合、コンパイラーによって強力な最適化が行われても、ネイティブ・アプリケーションまたはインテル® Xeon Phi™ コプロセッサーにオフロードされるコード領域が確実に実行されるようにします。以下に、C/C++ の例を示します。
void attach_idb() {
volatile int loop = 1;
do {
volatile int a = 1;
} while (loop);
}
デバッガーをアタッチするのに適した位置でこの関数を呼び出します。
インテル® Xeon Phi™ コプロセッサー向けのインテル® デバッガーはプロセスにアタッチされるため、ターゲットにおいてデバッガーが停止する位置は一定ではありません。そのため、このような処理が必要になります。通常、スケジューラーがホスト側からワークを待機している場所で呼び出します。
オフロードコードでは、代わりに空のオフロードと CPU で読み込みを行うことができます。以下に、Fortran の例を示します。
!dir$ offload begin target(mic)
!dir$ end offload
! 一時変数を読み込む間に MIC にアタッチし、値を入力して続行する
! この方法はすべてのケースに適用できるわけではないが、簡単に利用できる
read *, temp
GNU* プロジェクト・デバッガー – GDB*
インストール
インテル® Xeon Phi™ コプロセッサーをサポートする GNU* プロジェクト・デバッガー (GDB*) は、インテル® メニーコア・プラットフォーム・ソフトウェア・スタック (インテル® MPSS) に含まれています。最新のインテル® MPSS は次のサイトから入手できます。
http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss
GDB* に関する記事:
http://software.intel.com/en-us/articles/intel-system-studio-gdb
デバッガーのインストール
- gdb-intel-mic-2.1.xxxx.tgz をダウンロードします。
- ファイルを展開します。
$ tar xzf gdb-intel-mic-2.1.xxxx.tgz - gdb/gdbserver をインテル® Xeon Phi™ コプロセッサーにコピーします。
$ scp gdb gdbserver root@mic0:/usr/bin
または、ユーザーアカウントで次のコマンドを実行します。
$ scp gdb gdbserver mic0:
GDB* によるインテル® Xeon Phi™ コプロセッサーでのネイティブデバッグ
- インテル® Xeon Phi™ コプロセッサーで GDB* を実行します。
$ ssh –t mic0 /usr/bin/gdb
または、ユーザーアカウントで次のコマンドを実行します。
$ ssh –t mic0 ./gdb
- プロセス ID を用いて実行中のアプリケーションにアタッチします。
(gdb) shell pidof
はプロセス ID、 はデバッグするアプリケーションの名前です。 (gdb) attach
- GDB* から直接アプリケーションを開始します。
(gdb) file /target/path/to/applicaton
(gdb) start
GDB* によるリモートデバッグ
- ローカルホストで GDB* を実行します。
$ /usr/linux-k1om-4.7/bin/x86_64-k1om-linux-gdb
- インテル® Xeon Phi™ コプロセッサーで gdbserver を起動します。
(gdb) target extended-remote | ssh –T mic0 gdbserver –-multi –
|ssh -T mic0 gdbserver –multi – でリモートデバッグを行います。
リモートデバッグは stdio を使用します。
- プロセス ID (pid) を用いて実行中のアプリケーションにアタッチします。
(gdb) file /local/path/to/applicaton
(gdb) attach
- GDB* から直接アプリケーションを開始します。
(gdb) file /local/path/to/applicaton
(gdb) set remote exec-file /target/path/to/application
まとめ
インテル® 64 アーキテクチャーおよびインテル® Xeon Phi™ コプロセッサーで実行するヘテロジニアス・コードのデバッグを行うインテル® デバッガーのデバッグ・ソリューションは、コプロセッサーのコードのみ、あるいはホストとコプロセッサーのコードを同時にデバッグできる、さまざまなアプローチを提供します。
デバッガー用の新しい Eclipse* IDE 統合プラグイン機能は、まだ開発途中ですが、複数のカードのデバッグをサポートする優れたソリューションです。使い慣れた Eclipse* IDE 開発環境でデバッグすることができます。今後、スタンドアロン GUI デバッガーの豊富な並列化機能がこの新しいデバッグ・ソリューションに移行される予定です。
ベクトル・レジスター・ウィンドウは、インテル® Xeon Phi™ コプロセッサー向けコードの実行中、プログラムフローと実行コンテキストに関連する m512i レジスター情報を提供します。
インテル® デバッガーは、コマンドラインによるデバッグもサポートしています。
関連情報
ドキュメント
インテル® デバッガーのコマンドライン構文の詳細は、以下のコマンドライン・リファレンス・マニュアルを参照してください。
/opt/intel/composerxe/Documentation/en_US/debugger/cl/index.htm (/opt/intel/composerxe/ はインテル® コンパイラーのデフォルトのインストール・ディレクトリーです。)
また、以下のファイルから、各種ドキュメント、入門ガイド、デバッガーのユーザー・インターフェイスに統合されるユーザーマニュアルを参照することができます。
/opt/intel/composerxe/Documentation/en_US/debugger/debugger_documentation.htm
デバッガーのユーザーマニュアルは、インテル® デバッガーのグラフィカル・ユーザー・インターフェイスの [Help] メニューから、あるいは Eclipse* IDE 統合環境のデバッガー・パースペクティブから利用できます。
MPSS README:
http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss
各種ツールの入手先:
インテル® Composer XE 2013:
http://software.intel.com/en-us/intel-composer-xe/
Java* Runtime Environment (JRE):
http://www.java.com
Eclipse* CDT:
http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers-includes-incubating-components/indigosr2
GNU* プロジェクト・デバッガー (GDB*):
インテル® Xeon Phi™ コプロセッサーをサポートする GNU* プロジェクト・デバッガー (GDB*) は、インテル® メニーコア・プラットフォーム・ソフトウェア・スタック (インテル® MPSS) に含まれています。最新のインテル® MPSS は次のサイトから入手できます。
http://software.intel.com/en-us/forums/topic/278102
GDB* に関する記事:
http://software.intel.com/en-us/articles/intel-system-studio-gdb
著者紹介
Robert Mueller-Albrecht は、インテル コーポレーションのテクニカル・コンサルティング・エンジニアです。広範なインテル® アーキテクチャー・ベースの設計にわたって、組込みコンピューティング向けのソフトウェア開発ツールとデバッグ・ソリューションに取り組んでいます。CAD-UL AG での経験を経て、2001 年にインテルに入社しました。Technical University of Kaiserslautern で物理学の修士号を取得しています。
著作権と商標について
本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスを許諾するものではありません。製品に付属の売買契約書『Intel’s Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品適格性、あらゆる特許権、著作権、その他知的財産権の非侵害性への保証を含む) に関してもいかなる責任も負いません。
インテルによる書面での合意がない限り、インテル製品は、その欠陥や故障によって人身事故が発生するようなアプリケーションでの使用を想定した設計は行われていません。
インテル製品は、予告なく仕様や説明が変更される場合があります。機能または命令の一覧で「留保」または「未定義」と記されているものがありますが、その「機能が存在しない」あるいは「性質が留保付である」という状態を設計の前提にしないでください。これらの項目は、インテルが将来のために留保しているものです。インテルが将来これらの項目を定義したことにより、衝突が生じたり互換性が失われたりしても、インテルは一切責任を負いません。この情報は予告なく変更されることがあります。この情報だけに基づいて設計を最終的なものとしないでください。
本資料で説明されている製品には、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。
最新の仕様をご希望の場合や製品をご注文の場合は、お近くのインテルの営業所または販売代理店にお問い合わせください。
本資料で紹介されている資料番号付きのドキュメントや、インテルのその他の資料を入手するには、1-800-548-4725 (アメリカ合衆国) までご連絡いただくか、http://www.intel.com/design/literature.htm (英語) を参照してください。
Intel、インテル、Intel ロゴ、Xeon、Intel Xeon Phi は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。
Java は、Oracle および / または関連会社の登録商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
© 2013 Intel Corporation.無断での引用、転載を禁じます。
最適化に関する注意事項
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。