2016-10-20 17 views
1

.gdbinitまたはコマンドファイルを使用して、gdbをあらかじめ設定されたコマンドとマクロ定義で起動することができます。しかし、私の場合は:gdbセッション内にgdb設定情報を保存するには?

私はgdbを起動し、いくつかの "ブレークポイント"、 "コマンド"、 "定義"、これらのデバッグセッション情報をファイル(.gdbinitまたはコマンドファイル)に保存する方法を定義しました。 gdbコマンド?私はgdbのコマンド履歴を追跡し、それらのすべての型をコピー・ペーストすることは望まない。

gdbはこれをサポートしていますか?おかげさまで

答えて

1

GDBロギング機能を使用できます。 上記のオプションは、GDBのドキュメントで利用できます。

https://sourceware.org/gdb/current/onlinedocs/gdb/Logging-Output.html#Logging-Output

set logging on 
      Enable logging. 
set logging off 
      Disable logging. 
set logging file file 
      Change the name of the current logfile. The default logfile is gdb.txt. 
set logging overwrite [on|off] 
      By default, gdb will append to the logfile. Set overwrite if you want set logging on to overwrite the logfile instead. 
set logging redirect [on|off] 
      By default, gdb output will go to both the terminal and the logfile. Set redirect if you want output to go only to the log file. 
show logging 
      Show the current values of the logging settings. 
+0

ロギングはgdbコマンドの出力を記録しますが、コマンド自体は記録しません。 –

0

あなたはGDBから部分的にこれを行うことができますが、そうでなければ、自分で少しです。

あなたができることは、ブレークポイントを保存することです。それは簡単です:

(gdb) save breakpoints /tmp/whatever-file 

は残念ながら現在defineを保存する方法はありません - このためa gdb bugがあります。

この場合、できることはshow userを使用してコマンドを見つけ、ファイルにカットアンドペーストします。あるいは、仮説save userをPythonから実装することも可能です。

関連する問題