💭

gdbを使ってC++の現在の変数の値を確認する方法

2025/02/05に公開

概要

gdbを使ってC++の現在の変数の値を確認する方法を示します。

対象ソースコード

sample.cpp
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int i = 0;

    cout << i << endl;

    i++;

    cout << i << endl;

    return 0;
}

gdbを起動するまで

$ g++ -g -o sample sample.cpp
$ gdb sample

※gオプションがデバック向けバイナリの作成を指示するオプションです。

i++前後でiの値を確認する

(gdb) break 10
Breakpoint 1 at 0x119e: file sample.cpp, line 11.
(gdb) break 12
Breakpoint 2 at 0x11a2: file sample.cpp, line 13.
(gdb) run

Breakpoint 1, main () at sample.cpp:11
11          i++;
(gdb) print i
$1 = 0
(gdb) next

Breakpoint 2, main () at sample.cpp:13
13          cout << i << endl;
(gdb) print i
$2 = 1

Discussion