gdbにブレークポイントを設定して、その名前で特定のファイルに書き込むたびにプログラムを停止する方法はありますか?名前で知られる特定のファイルに書き込む際にgdbでプログラムを停止する方法
答えて
catch syscall write
でwrite
システムコールを実行するたびにGDBを停止させることができます。
write
は名前付きファイルではなくファイル記述子で動作するため、名前でこのブレークポイントを条件付きにすることはできません。最初に "興味深い"ファイルに対応するファイル記述子を見つけなければなりません。
Linuxでは、ls -l /proc/<pid>/fd/*
を参照すると、ファイル記述子を名前に関連付けることができます。
他のシステムは、lsof
、またはこれを実行するための他のシステム固有のメカニズムを持つ場合があります。
ファイルディスクリプタを取得したら、catch
を条件付きにすることができます(GDBは、その特定のファイルが書き込まれたときにのみ停止します)。それを行う方法の正確な詳細は、オペレーティングシステムとプロセッサによって異なり、あなたはどちらも提供しませんでした。
キャッチシステムコールの書き込みが正常に動作します: キャッチポイント2( '書き込み' をシステムコールするために呼び出す)、0x0000003137cc6070 /lib64/libc.so.6の__write_nocancel()内 gdbでファイル記述子を取得する方法は? – agnonchik
「OSとプロセッサーの詳細が違っていて、あなたが使っていることを言っていない」と理解できませんでしたか?あなたはおそらく* Linux/x86_64を使用していますが、何か他のものを使用している可能性があります。 –
私の64ビットシステムでは、奇妙なことにファイル記述子番号を含むrdiレジスタを使用できます。ちょうど[リンク](http://stackoverflow.com/questions/1538463/how-can-i-put-a-breakpoint-on-something-is-printed-to-the-terminal-in-gdb)からわかりました。 – agnonchik
- 1. Python:特定の方法でファイルに変数を書き込む
- 2. GWT-log特定のファイルに書き込む方法は?
- 3. プログラムでjsonファイルにコンテンツを書き込む方法
- 4. Qtで特定のシリアルポートにデータを書き込む方法は?
- 5. DataGridViewをプログラムで書き込む方法
- 6. 名前をArrayListからXMLファイルに書き込む
- 7. 削除する前にファイル名を書き込む
- 8. C#でファイルに書き込む方法
- 9. BufferedWriter:閉じられる前にファイルに書き込む
- 10. JPAで名前付きネイティブサブクエリを書き込む方法は?
- 11. iOS:プロジェクトの特定のディレクトリにあるファイルに書き込む方法は?
- 12. コンソールログを特定のサイズまでファイルに書き込む
- 13. イメージ名を特定のサイズから書き込むバッチファイルの作成方法
- 14. .dataファイルから.txtファイルに書き込む方法Javaでは?
- 15. csvファイルから特定の列に書き込む
- 16. Ruby - 特定の方法で実行するプログラムを停止する
- 17. 特定のインデックスでファイルに書き込む
- 18. Accessで特定のフィールドと値に書き込むvbaを書き込む
- 19. 回転ビットマップを圧縮せずに特定のファイルに書き込む方法
- 20. 特定のビット数のJavaでintを書き込む方法
- 21. このPhonegapプラグインにiOS AudioServicesの停止機能を書き込む方法は?
- 22. 特定のアクションが起こるまでプログラムを停止する方法
- 23. サーバーパスでファイルを書き込む際に資格情報を渡す方法は?
- 24. 毎日.csvを特定のファイルパスに書き込む方法
- 25. ファイルに書き込む前にtsharkの結果をフィルタリングする方法は?
- 26. ローカルドキュメントライブラリにファイルを書き込む方法
- 27. リンクリストオブジェクトをファイルに書き込む方法
- 28. x86 CPUで特定のハードウェアウォッチポイントでgdbが停止しない
- 29. TXTファイルの特定の位置にデータを書き込む方法は?
- 30. Bash - ディスク上の特定のアドレスにファイルを書き込む方法
オープン:https://stackoverflow.com/questions/5863115/gdb-break-when-program-opens-specific-file –