質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
C++11

C++11は2011年に容認されたC++のISO標準です。以前のC++03に代わるもので、中枢の言語の変更・修正、標準ライブラリの拡張・改善を加えたものです。

GDB

GDBはGNUソフトウェアシステムのための標準的なデバッガーです。

Q&A

解決済

1回答

1728閲覧

vscodeでgdbデバックを行っても変数の内容が表示されない

fk_beginner

総合スコア16

C++11

C++11は2011年に容認されたC++のISO標準です。以前のC++03に代わるもので、中枢の言語の変更・修正、標準ライブラリの拡張・改善を加えたものです。

GDB

GDBはGNUソフトウェアシステムのための標準的なデバッガーです。

0グッド

0クリップ

投稿2023/06/10 14:33

実現したいこと

gdbによるデバックによって実行中のプログラムをブレークポイントで停止させて、そこで変数の内容を確認したい。
期待する動作は以下のような画面です。
イメージ説明
(VScode で GDB のコマンドを実行する,https://qiita.com/BenjaminBenton7/items/282250313e02ad4d50d6)

発生している問題・エラーメッセージ

vscodeでC++を使用するためにデバックやインテリセンスの設定を行い、gdbによるデバックを行った。
するとブレークポイントで停止自体はするのだが、以下のようにlocal変数に何も表示されない状態になってしまった。
イメージ説明

実行したソースコードは以下のとおりです。

c++

1#include <stdio.h> 2 3int calc_sum(int* a, int size) 4{ 5 int sum = 0; 6 for (int i = 0; i < size; ++i) { 7 sum += a[i]; 8 } 9 10 return sum; 11} 12 13int main(void) 14{ 15 int data[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 16 int sum = calc_sum(data, sizeof data / sizeof *data); 17 printf("%d\n", sum); 18 19 return 0; 20}

またtasks.jsonとlaunch.jsonは以下の通りになっています。

tasks.json

1{ 2 // See https://go.microsoft.com/fwlink/?LinkId=733558 3 // for the documentation about the tasks.json format 4 "version": "2.0.0", 5 "tasks": [ 6 { 7 "label": "g++", 8 "type": "shell", 9 "command": "g++", 10 "args": ["-g", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe", "${file}"], 11 "group": { 12 "kind": "build", 13 "isDefault": true 14 } 15 16 } 17 18 ] 19}

launch.json

1{ 2 // IntelliSense を使用して利用可能な属性を学べます。 3 // 既存の属性の説明をホバーして表示します。 4 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 5 "version": "0.2.0", 6 "configurations": [ 7 { 8 "name": "(gdb) 起動", 9 "type": "cppdbg", 10 "request": "launch", 11 "program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe", // <- test.exe 12 "args": [], 13 "stopAtEntry": false, 14 "cwd": "${workspaceFolder}", 15 "environment": [], 16 "externalConsole": true, 17 "MIMode": "gdb", 18 "miDebuggerPath": "C:/mingw64/bin/gdb.exe", 19 "setupCommands": [ 20 { 21 "description": "gdb の再フォーマットを有効にする", 22 "text": "-enable-pretty-printing", 23 "ignoreFailures": true 24 } 25 ] 26 } 27 ] 28}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

すみません、コンパイルし忘れてたせいで昔の実行ファイルにgdbデバックしてただけでした。
設定に問題はありませんでした

投稿2023/06/10 14:40

fk_beginner

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問