gdbを使用して、ネットワークプロトコルのシミュレーターであるNS-2をデバッグしています。入力として.tclファイルを受け取り、それを解釈します。[通訳だと思います。]
一部のコードはtcl(イベントとネットワークコンポーネントの作成)で記述され、一部はC ++(特にパケット形式、エージェントなど)で記述されています。
C ++でエージェントを作成しましたが、スタックトレースを確認し、その前に呼び出された他のクラスを見つけることができるように、関数呼び出しでエージェントを停止したいと思います。
これは私がしたことです:
MyAgent ::関数の1つにエラーがあり、セグメンテーション違反が発生し、gdbがそこで自動的に停止していました。その後、スタックトレースを確認できました。エラーを修正しました。
今私が実行すると
gdb ./ns
b MyAgent::function()
/*
When i press TAB after writing "b MyA" it gives me all functions
of my class :). when i press enter after above command --
it asks me "Breakpoint on future shared library load" and i say Yes.
I hope this is ok ??
*/
r myfiles/myWireless.tcl
今、それは実行され、どこでも停止しません。:(
セグメンテーション違反が発生したとき、その関数で停止していたため、この関数が呼び出されていると確信しています。
ありがとう