問題タブ [watchpoint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
2992 参照

python - ウォッチポイントを持つ無料の python デバッガーはありますか?

pdb と winpdb の両方に、この重要な (私にとって) 機能が欠けているようです。私は WingIDE がそれを持っていることを示唆する何かを見ましたが、私は無料のソリューションを好みます。また、支払う必要がある場合は、Wing よりも優れたものを支払うことを好みます。

0 投票する
0 に答える
537 参照

watchpoint - Freescale CodeWarrior : HCS08 にウォッチポイントを登録する

SR (グローバル割り込みマスク) の I ビットが状態を変更したときに、デバッグを中断する必要があります。

フリースケール CodeWarrior 6.1

MCU:HCS08

0 投票する
2 に答える
1643 参照

iphone - iphone Xcode 3.1.4 3.1.2 SDK、ウォッチポイントが機能しませんか?

ウォッチポイントを設定しようとすると、gdbエラーが発生します。

「「Z2」(書き込みウォッチポイント)パケットがないと、ハードウェアウォッチポイントをクリアできません」

次に、デバイスが破損しているようです(デバイスを再起動すると、OS 3.1.2であっても、OSがSDKには古すぎると文句を言います)。

追跡するバグがあり、ウォッチポイントで追跡するのは本当に簡単なので、これは本当に苦痛です。

ウォッチポイントが機能することになっているのかどうか誰かが知っていますか?それらを機能させる方法は?

0 投票する
2 に答える
2180 参照

c++ - C ++で多くのファイルで構成されるプログラムでgdbウォッチポイントを設定するには?

多くの C++ ファイルで構成されるパッケージ内の変数を監視するウォッチポイントを設定しようとしています。

ファイルが多い

abc.cpp qwe.cpp .. xyz.cpp など

ファイル abc.cpp の関数 qwerty() の変数 'temp' を監視したい ウォッチポイントを設定するにはどうすればよいですか?

私は試した

abc.cpp::temp を見る abc.cpp:temp を見る temp を見る

しかし、エラーが表示されます No symbols 'abc.cpp::temp','abc.cpp:temp','temp' not in current context また、情報ウォッチポイントは、ウォッチポイントが設定されていないことを示しています。同じ変数に対してブレークポイントを正常に設定できることに注意してください

0 投票する
4 に答える
7838 参照

gdb - GDB ハードウェア ウォッチポイントが非常に遅い - なぜですか?

大規模な C アプリケーションで、次のようにメモリ アドレスにハードウェア ウォッチポイントを設定しました。

ご覧のとおり、これはソフトウェアではなくハードウェアのウォッチポイントであり、速度の遅さを説明しています。

現在、デバッガーでのアプリケーションの実行時間は、10 秒未満から 1 時間に変わりました。ウォッチポイントはこれまでに 3 回トリガーされました。1 回目は、アドレスを含むメモリ ページが によって読み取り可能になった 15 分後sbrkです。この 15 分間はメモリ ページにアクセスできなかったので、ウォッチポイントは効率的だったはずです。そして、それはまだ説明していません。なぜ後で遅いのですか。

プラットフォームは x86_64 で、GDB のバージョンは Ubuntu 9.10 パッケージです。

ソースからビルドされたストック GDB 7.1:

何が原因であるか、またはそれを修正/回避する方法についてのアイデアを事前に感謝します.

編集:キャストを削除

編集:gdb 7.1

0 投票する
5 に答える
5733 参照

c - メモリ破損を検出するための Linux C デバッグ ライブラリ

以前、単純な MMU を備えた組み込みシステムで作業していたとき、私はこの MMU を動的にプログラムしてメモリの破損を検出していました。

たとえば、実行時のある時点で、foo 変数が予期しないデータで上書きされました (おそらく、ダングリング ポインターなどによって)。だから私は追加のデバッグコードを追加しました:

  • 初期化時に、foo によって使用されるメモリが禁止領域として MMU に示されました。
  • foo が意図的にアクセスされるたびに、リージョンへのアクセスが直前に許可され、直後に禁止されました。
  • マスターと違反の原因となったアドレスをダンプするために、MMU irq ハンドラが追加されました。

これは実際にはある種のウォッチポイントでしたが、コード自体によって直接自己処理されました。

ここで、同じトリックを x86 プラットフォームで再利用したいと思います。問題は、このプラットフォームで MMU がどのように機能しているか、Linux でどのように使用されているかを理解するにはほど遠いことですが、この問題に対処するためのライブラリ/ツール/システム コールが既に存在するかどうか疑問に思っています。

Valgrind や GDB など、メモリの問題を管理するさまざまなツールが存在することは承知していますが、私の知る限り、これらのツールはデバッグされたコードによって動的に再構成することはできません。

私は主に Linux でのユーザー空間に興味がありますが、カーネル モードや Windows での情報も大歓迎です!

0 投票する
1 に答える
339 参照

linux - Linux で procfs 経由でウォッチポイントを設定するには?

Linux (Ubuntu) でデバッガーのようなプログラムをビルドしようとしていますが、いくつかの問題が発生しました。私が聞いたところによると、/procvfs はウォッチポイントを作成するメカニズムを提供しますが、その方法を見つけることができないようです。

一部のマニュアル ページでは、おそらく にある「制御ファイル」を指摘されました/proc/<pid>/ctlが、このファイルはどこにも見つかりません。(おそらく、このファイルは Solaris 専用ですか? それとも Ubuntu のせいでしょうか?)

0 投票する
2 に答える
2082 参照

c - まだ有効ではないgdbウォッチポインタ

私は次のコードを持っています:

arr[10]その配列要素がいつ変更されるかを監視して確認する必要はありません。

これどうやってするの?gdbは次のように言っています:

無効なメモリを監視し、有効になったときにのみ停止するようにgdbに指示する方法はありますか?

PS:gdbバージョン6.0、6.3、6.4、6.6、6.8、7.0、7.1があります

ありがとう

0 投票する
1 に答える
47400 参照

debugging - 固定アドレスを監視する

現在の組み込みアプリケーションでは、GDBウォッチポイントを固定メモリアドレスに配置しようとしています。

例として、私のアプリケーションは次のアドレスを更新します:0x10793ad0。コードのどの部分が値を破壊しているかを確認するために、私は試しました

この後、GDBはエラーを出力しませんが、実行の開始と終了の間に値が変更されていることを確認しても、実行中に中断することはできません。

質問:

  1. 本当に時計を固定アドレスに置くことはできますか?私はそのような例をオンラインで見つけませんでした。
  2. これは正しい方法ですか、それとも何かが足りませんか?