前提・実現したいこと
vscodeにてデバッグを行うとブレークポイントを素通りして変数が表示されない
発生しているデバッグメッセージ
thread-group-added,id="i1" GNU gdb (GDB) 7.6.1 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "mingw32". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Warning: Debuggee TargetArchitecture not detected, assuming x86_64. =cmd-param-changed,param="pagination",value="off" [New Thread 5660.0x4ad0] [New Thread 5660.0x4e90] Loaded 'C:\WINDOWS\SysWOW64\kernel32.dll'. Symbols loaded. Loaded 'C:\WINDOWS\SysWOW64\KernelBase.dll'. Symbols loaded. Loaded 'C:\WINDOWS\SysWOW64\msvcrt.dll'. Symbols loaded. The program 'C:\Users\ninotaroumk2\program\meikai\a.exe' has exited with code 0 (0x00000000).
該当のソースコード
#include<stdio.h> #define number 4 void rev_intary(int v[], int n){ int i; int kari; for (i=0; i < n/2; i++){ kari=v[i]; v[i]=v[n-i-1]; v[n-i-1]=kari; } } int min_x(const int x[],int n) { int i; int min = x[0]; for(i=1; i < n; i++){ if (min > x[i]) min=x[i]; } return min; } int main (void) { int i; int v[number]; printf("%d個の整数を入力してください", number); for (i=0 ; i < number ; i++){ scanf("%d", &v[i]); } printf("最小値は%dです。",min_x( v, number)); rev_intary(v, number); printf("反転すると"); for(i=0; i <number ; i++){ printf("%3d", v[i]); } return 0; }
tasks.json
// task.json { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "Debug Build", // タスクの名前(デバッグ用のビルドだとわかれば何でも良いです。) "type": "process", // タスクの種類(shell⇢processに書き換えて下さい) "command": "gcc", // 使用するコンパイラのコマンド名 "args": [ // コンパイラに与える引数のリスト "-g", // デバッグ情報を付与 "-O0", // 最適化レベル "t153.c", // ソースファイル名 "a.exe" // 実行ファイル名 ], "group": { // 複数のタスクがある時にこれがデフォルトのビルドタスクとして選択される "kind": "build", "isDefault": true }, // gccでエラーが出た時に該当の箇所へジャンプさせるのに必要 "problemMatcher": "$gcc" } ] }
launch.json
{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "windows": { "miDebuggerPath": "C:\\MinGW\bin\gdb.exe" }, "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
試したこと
c言語でvscodeのdebug機能を使用したいのですが変数が表示されません。エラーは起こっておらず、何が原因なのかがわからない状態です。
・windows10を使用
・ソースコードはt153.c
・実行ファイルはa.exe
・実行は正常に動き、値を打ち込めば結果が返ってきます。
・参考にしたwebページはhttps://teratail.com/questions/141507
あなたの回答
tips
プレビュー