GDBの相違点ソウイテン 概要ガイヨウ
VEに移植イショクされたGDBは、CまたはC++、FortranでかれたVEプログラムのソースレベルデバッグとシンボルデバッグの
機能キノウ提供テイキョウします。ソースギョウ関数カンスウのシンボルを指定シテイしてブレークポイントを設定セッテイすることや、VEプログラムを起動キドウすること、
実行中ジッコウチュウにVEプロセスにGDBをアタッチすること、VEプログラムをステップ実行ジッコウすること、シンボルを指定シテイして変数ヘンスウ
表示ヒョウジすること、スカラレジスタやベクトルレジスタを表示ヒョウジすること、変数ヘンスウやレジスタのアタイ変更ヘンコウすること、
VEプログラムの関数を実行することができます。
また、VEプログラムのコアファイルを解析カイセキすることもできます。
VEに移植イショクされたGDBと、LinuxのGDBには、以下イカ相違点ソウイテンがあります。
1.  VEプログラムの実行ジッコウのため、GDBは内部的ナイブテキに"--traceme"オプションをけて"ve_exec"を実行ジッコウします。
2 VEプログラム実行ジッコウのため、VE_NODE_NUMBER環境カンキョウ変数ヘンスウ使用シヨウしてVEノードを指定シテイします。
環境カンキョウ変数ヘンスウ設定セッテイされない場合バアイ、VEノード0でVEプログラムが実行ジッコウされます。
3 ローカルデバッグのみサポートされています。GDBサーバーやGDBスタブをモチいたリモートデバッグには対応タイオウしていません。
4 分離ブンリされたデバッグシンボルを検索ケンサクするためのディレクトリは "/opt/nec/ve/lib/debug"となります。
5 DWARF情報が不正なため、GDBはスレッド固有変数を扱うことができません。
6 以下イカのコマンドはVEガワ情報ジョウホウ表示ヒョウジせず、VH(ベクトルホスト)ガワ情報ジョウホウをprocfsを使用シヨウして表示ヒョウジします。
info proc
info proc all
info proc cmdline
info proc cwd
info proc exe
info proc mappings
info proc stat
info proc status
7 "info auxv"コマンドはコアファイルをデバッグする場合バアイにのみ利用リヨウ可能カノウです。
8 GDBとVEOSは、VEプログラムによるexecve()システムコールのしを適切テキセツ処理ショリすることができません。
VEプログラムがexecve()システムコールをびだすと、GDBはSIGTRAPを検出ケンシュツ、またはプロセス、スレッドを
見つけることができなくなり、新しいプログラムを再ロードしません。
この場合バアイは、GDBを終了シュウリョウするために"quit"コマンドを実行ジッコウする必要ヒツヨウがあります。
GDBからデバッグ対象タイショウのプロセスを起動キドウした場合バアイは、GDBの終了時シュウリョウジにそのプロセスがコロされます。
9 "call"コマンド使ツカって、VEプログラムの関数カンスウびだすことができます。しかし、ページ境界キョウカイえてスタック領域リョウイキ必要ヒツヨウ場合バアイ
アクセスエラーによって "call" コマンドが失敗シッパイします。
10 VE固有コユウのコマンドが追加ツイカされています。
「VE固有コユウのコマンド」シートを参照サンショウしてください。
11 対応タイオウしていないコマンドが存在ソンザイします。
「GDBコマンド」シートと「MIコマンド」シートを参照サンショウしてください。
12 プログラムがHW例外レイガイにより停止テイシした場合バアイ命令メイレイカウンタ(IC)はHW例外レイガイこしたアドレスからハナれています。
HW例外レイガイ発生ハッセイした場合バアイ正確セイカク状態ジョウタイ確認カクニンするために、 「アドバンスオフ」モードを設定セッテイすることができます。
このモードでは前回ゼンカイ命令メイレイ完了カンリョウするまで命令メイレイ実行ジッコウ保留ホリュウされます。
その結果ケッカ、GDBはHW例外レイガイが発生したときの正確な状態を示します。
「アドバンスモードの設定セッテイ方法ホウホウ」のシートを参照サンショウしてください。