質問
現在NS-2(A Network Simulator)を使用しています。デバッグ中にコースコードを表示できるように、gdbのtuiオプションを使用したかったです。 (Visual Studioのように)
現在、「gdb -tui」を実行すると、ソースウィンドウは空白になります。 。ただし、"リスト"を実行するとファイルが表示されます。 gdbでは、ファイルに自動的に移動してブレーク位置を指すようにすることはできません。
これを行う方法はありますか?
解決
GDB TUIについてはわかりませんが、viに慣れている場合は、必ずをチェックしてください。 CGDB 。これは、viのようなキーバインディングを使用したGDBのTUIフロントエンドです。
CGDBでブレークポイントを設定するには、エスケープ(もちろん)を押して、ブレークする行に移動し、スペースバーを押します!
他のヒント
Ctrl-X A
の組み合わせを試しましたか?
これはgdbにTUIモードの開始/終了を指示します。
次のようにgdbを使用して実行可能ファイルを実行します。
$gdb -tui ./executable_name
gdb
コマンドを実行するとすぐにソースコードが表示されます:" run" gdbターミナルで。
いくつかの行にブレークポイントを置いて(たとえば、 main()
関数)、" run"を実行するとよいでしょう:ソースコードが表示されます。
elfファイルに正しいデータが含まれるように、常にダブルチェックできます。
ある場所でプログラムを中断すると、PC(プログラムカウンター)でいくつかの読み取り値が表示されます。その値はaddr2line(binutils内)とクロスチェックできるため、正しいソースファイルがあります。