3

VisualStudio のデバッガーにはAuto Windowと呼ばれる機能があり、現在および前の式の値を常に表示します。特にC++アプリの場合、GDBで同様の動作を実現する方法はありますか?

displayGDB のおよびコマンドは認識してcommandsいますが、探しているものではないようです。VS では、プログラムのすべてのステップで、デバッガーが評価する式を自動的に判断して評価します。この機能 (どの式を評価するかを自動的に判断する機能) は、私が GDB に実行してもらいたいことです。

たとえば、次のコードをステップ実行しているとします。

#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <sstream>
using namespace std;

int main()
{
    string s = "Hello";
    s += "World";

    int i = 2;
    i *= 3;
    i *= 7;

    stringstream ss ;
    ss << "The result is " << i << "!\n";
    ss << "Now, what was the question?";

    s += ss.str();

    cout << s << endl;

}

...そして、i*=7行を実行しようとしています。VS の Autos ウィンドウには、次のように表示されます。

ここに画像の説明を入力

ここの Autos ウィンドウに示されているように、現在および以前の式の値を GDB に表示させる方法はありますか? 編集上記のスクリーンショットに入力していないことに注意してくださいi。デバッガーが入力してくれました。プログラムのすべてのステップで潜在的な差分式が表示されます。その自動表示は私が探しているものです。

4

2 に答える 2

0

displayコマンドを使用して、必要なことを行うことができます。コマンドコマンドを使用して、ブレークポイントに到達したときにコマンドのリストを実行することもできます。

于 2012-12-21T21:23:55.290 に答える