LinuxでValgrindやその他のデバッガを使用すると、変数が変更された場所をどのように見えるのでしょうか。私はgccを使用しています。 GDBを使用してコードにステップインしたいとは思わないことに注意してください。私はちょうどプログラムを実行して、デバッガに、最終的に変数がコード内で変更された場所を報告してもらいたい。変数が変更されたときの確認
答えて
gdbでこれを行うにはBreakpoint Command Listsを使用してください。見る変数のアドレスを知る必要があります。このような一連のコマンドとウォッチポイントを設定します。
watch *0xfeedface commands silent bt cont end
ます。また、必要に応じてファイルをログに記録するすべてのこの出力を保存することができます。詳細はgdb docをご覧ください。
おっと、それは考えていません正確な重複Can I set a breakpoint on 'memory access' in GDB?の方が少しお尋ねしますので、だから、:
- 使用GDB
- は、あなたが(ハードウェアウォッチポイントのみアドレスを見ることのために働く見たいので、あなたは、変数やオブジェクトがインスタンス化されているポイントにそれを実行する必要がアドレスを検索し、自分を取りますアドレスとそのアドレスに
watch
コマンドを使用し - あなたのバックトレース(またはあなたが収集する必要がある他の情報)を得て続行するアドレスにコマンドを取り付け
だからあなたのようなものがあるでしょう。。:
p &variable
watch *$$
cmd
bt
c
end
(私はp
コマンドで印刷されたとして、私は通常$n
を使用し、$$
と完全に確認していません)。
変数が多くの場所(例えばタイトなループ)で変更されている場合、これは*たぶん遅くなります。あなたの最後の手段なら、この方法だけを使うといいでしょう。 –
上記のウォッチポイントは通常ハードウェアウォッチポイントであるため、変数の変更に従うことを望むと仮定すると、それほど遅くはありません。 –
@BasileStarynkevitch: 'cmd/bt/c/end'を追加すると、遅くなります。それはウォッチポイントではなく、それを遅くするバックトレースの印刷です。 –
- 1. モデルが変更されたときの変数の変更
- 2. プロパティが変更されたことを確認しました
- 3. 変数の値が変更されたときは、どのように確認できますか?
- 4. ラジオボタンが変更されたイベントの変更を2回確認しました
- 5. IListが変更されたことを確認しますか?
- 6. 変数が設定されたときに変数値が変更される
- 7. 変数が更新されたときに変数のパラメータが変更された関数
- 8. 状態が変更されたときの値の確認方法は?
- 9. CSSの変更:チェックボックスがチェックされたときに疑似クラスを確認
- 10. 入力変数が変更されたときに、tf変数の値が変更されない
- 11. 変数が変更されたときにAngular2コンポーネントビューが更新されない
- 12. Angular2:変数が変更されたときにビューが更新されない
- 13. anglejsでビューが変更されたときを確認するトラック
- 14. iframeがロードされているときに変更が選択されたときに確認する
- 15. 確認後の表現が変更されましたLoading components
- 16. フォームデータが変更されたかどうかの確認
- 17. 変数の値が変更されるかどうか確認する
- 18. ファイルが変更されたかどうかを確認する
- 19. アンドロイドスタジオjava自動確認mysqlデータベースが変更された場合
- 20. エントリ値が変更されたときのラベル値の変更
- 21. ファイルタイプが変更されたときの色の変更
- 22. スコープ変数が変更されたときのng-optionsの更新
- 23. 変数が変更されたときに辞書の値が変更される
- 24. タブが変更されたときの変更サイズを表示
- 25. prePersist()で値が変更されたかどうか確認できますか?
- 26. タブが変更されたときにチェックボックスのイベントが変更されない
- 27. クロムのスケールが変更されたときにスクロールバーが変更されない
- 28. 変数が変更されたときに呼び出されるフック
- 29. 変更されたFormCollectionの値を確認する
- 30. FluentValidation:変更されたプロパティのみを確認する
[GDBで 'メモリアクセス'にブレークポイントを設定することはできますか?](http://stackoverflow.com/questions/58851/can-i-set-a-breakpoint-on-memory-access- in-gdb) – bobbymcr