デバッグされたプログラムからgdbを制御できますか?私はgdb_sendcmd("bt")
のようなAPIを使って理想的にこれを助けるライブラリを期待していますが、ソケット経由でローカルgdbに接続するなどの方法で暮らすことができます。デバッグされたプログラムからgdbにコマンドを送信
プライマリユースケースでは、データブレークポイントをプログラムで追加して、次に特定のメモリアドレスが変更されたときを監視します。ターゲット言語は、当然C言語です。それに該当するものはC++やObjective-Cで再利用できます。
Answer from Employed Russian私の直接の問題を解決したが、私はまだ、私はGDBは、デバッグプログラムからプログラムコマンドを実行することができます方法を知ってみたいです。私は、GDBのための余分な起動コマンドを書くのではなく、添付されたコマンドでブレークポイントを作成するのではなく、単にプロジェクトにコードを追加するだけで、デバッグを高速化できます。
プログラムでコマンドを実行する方法があるのであれば、私はまだそれを聞いてみたい;)
私はこれができないと確信しています。 GDB用のスクリプトをPythonで書くこともできますが、ブレークポイントが当たったときに自動的にそれらを呼び出す方法、あなたが求めているメモリウォッチを作成する方法は私には分かりません。 –
多くのCPUアーキテクチャでは、データブレークポイント、データウォッチポイント、ブレークを引き起こす命令などでHWがサポートされています。 – TJD
@TJD正確には、gdbでプログラムでデータブレークポイントを設定する方法や、他のコマンドを実行してください。 –