2
int main(int ac, char *av[])
{
  printf("%d");
  return 0;
}

これがガベージを出力することはわかっていますが、gdbを使用してプログラムをトレースしてガベージ値を確認する方法は?

4

1 に答える 1

3

ブレークポイントを設定しprintf、次を使用してスタックを調べることができます$esp

gdbガベージ値についてはわかりません。しかしprintf、あなたの場合、たまたまva_argsスタックから「未定義」(実際には「初期化されていない」、つまり以前のガベージを含む)値を取得(を使用)します。

于 2013-02-19T07:06:10.597 に答える