watchpoint

    2

    2答えて

    gdbでQEMUをデバッグしました。 予期しないメモリアクセスをトレースするには特定のアドレスにハードウェアウォッチポイントを設定します。ただし、アドレスの値が変更されている間はgdbは停止しません。 gdbでハードウェアウォッチポイント機能を使用したのはこれが初めてです。 なぜこれが起こったのか分かりませんが、この問題を解決したいと思います。 以下はgdbコンソールの出力です。 $ gdb --

    3

    1答えて

    break *mainとbreak main()の本質的な違いは何ですか?例えば : #include <iostream> using namespace std; int main() { int x=30; int y=40; x=y; return 0; } 私はbreak *mainとwatch

    10

    5答えて

    一時的に私のC++プログラムでウォッチポイント(ハードウェア書き込みのブレーク)を設定してメモリ破損を検出したいとします。 gdbで手作業で行う方法はすべて見てきましたが、実際にコード内のいくつかの方法でウォッチポイントを設定したいので、gdbに侵入する必要はありません。ウォッチポイントに戻り、次に続行します。以下のような 何か:GDBで #define SET_WATCHPOINT(addr)

    0

    1答えて

    を介してローカルベクトル変数にウォッチポイントを設定することはできません、私はそれを設定するコードの一部です: void *sync(void *ptr) { vector<short> gen = generate_sygnal(); 私は、デバッグフラグで私のプログラムを構築し、ここで私は何をすべきかですgdb: (gdb) break daemon.cxx:sync brea

    0

    1答えて

    1日Java Field Watchpointでアプリケーションをデバッグしようとしていますが、どのタイプのフィールドでも設定できます:文字列、int ... 4.4.2 android Android Studio 2.0タブレットを使用しています。 ブレークポイントは正常に動作します。

    0

    1答えて

    2つのノードAとBをバイナリツリーに入れ替えようとしているので、実際にメモリに格納されている場所は変更されますが、ツリートポロジは変更されません。親とノードを交換するための特別な処理を追加しましたが、それでも動作しないようです。私はメモリエラーをキャッチし、一貫したアドレスを取得できるように、VgdbでValgrindを使用しています。私は 78 \ 40 /\ 5c c5

    9

    2答えて

    EclipseデバッガのJavaプログラムでウォッチポイントを使用して値の変更を追跡しようとしています。クラス階層はかなり複雑で、私が追跡している値は、多くの場所で使用されているコンテナにラップされています。 具体的には、コンテナSizeRequirementがあります。このコンテナには、追跡対象のプロパティminimumがあります。このクラスは、多くのコンポーネントが多くの場所で多くのレイアウト

    -4

    1答えて

    gdbはウォッチポイントと同様に、ウォッチポイントをC言語にプログラム的に入れたいと思っています。現在の時刻では私はこの命令のようなブレークポイントのために知っている: int i=0; while(1){ i++; if(i >= 10) asm("int");/*break*/ } 検索した後、それはTUIモードを使用して、アセンブリの命令を表示し、私の

    1

    1答えて

    オンラインでgdb(Watch a memory range in gdb?)を使ってメモリアドレスへのアクセスを中断することができますが、qemuを使用すると、ゲストマシン上のメモリアドレスに対してそのようにする方法がわかりません。

    0

    1答えて

    変数が壊れています。この変数が頻繁に設定される(この場合、ネットワークパケットを処理し、パケットごとに1回設定される)ことを除いて、ウォッチポイントが明白な選択です。私は変数がと書かれていると想定されている場所からウォッチポイントを免除したいと思います。基本的に、私が望むのは "line_numberならば変数を見てください!="です。 gdbドキュメントは条件式では少し薄いと思われるので、これが