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例外レイガイが発生したときの正確な状態を示します。
「アドバンスモードの設定セッテイ方法ホウホウ」のシートを参照サンショウしてください。