前提・実現したいこと
VScodeを用いてデバッグをしたい。
そのために以下の回答の操作を行った。
vscodeにてデバッグの設定をしたい(一応c言語の)初心者
なお、自分はMinGWの場所を
D:\MinGW\bin
としているため、上記リンクのmiDebuggerPath
の値を
D:\MinGW\bin
とした。
(D:\MinGW\bin
だとエラーが出る。)
また、実行ファイルの名前の関係上、
"program"
を"${workspaceFolder}/a.exe"
とした。
さらに、"args"
も一部変更している。(以下参照)
発生している問題・エラーメッセージ
C言語のソースファイルであるinput.c
に対してF5
を押下すると、以下のエラーが出る。
Unable to start debugging. Launch options string provided by the project system is invalid. '[]'(16進数値0x08)は無効な文字です。 行6、位置27。
該当のソースコード
launch.json
json
1// launch.json 2{ 3 // IntelliSense を使用して利用可能な属性を学べます。 4 // 既存の属性の説明をホバーして表示します。 5 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 6 "version": "0.2.0", 7 "configurations": [ 8 { 9 "name": "(gdb) Launch", 10 "type": "cppdbg", 11 "request": "launch", 12 // 実行ファイルのパス 13 "program": "${workspaceFolder}/a.exe", 14 "args": [], 15 "stopAtEntry": false, 16 "cwd": "${workspaceFolder}", 17 "environment": [], 18 "externalConsole": true, 19 "MIMode": "gdb", 20 // デバッガーのパス 21 "miDebuggerPath": "D:\MinGW\bin", 22 "setupCommands": [ 23 { 24 "description": "Enable pretty-printing for gdb", 25 "text": "-enable-pretty-printing", 26 "ignoreFailures": true 27 } 28 ] 29 } 30 ] 31}
task.json
json
1// task.json 2{ 3 // See https://go.microsoft.com/fwlink/?LinkId=733558 4 // for the documentation about the tasks.json format 5 "version": "2.0.0", 6 "tasks": [ 7 { 8 "label": "Debug Build", // タスクの名前(デバッグ用のビルドだとわかれば何でも良いです。) 9 "type": "process", // タスクの種類(shell⇢processに書き換えて下さい) 10 "command": "gcc", // 使用するコンパイラのコマンド名 11 "args": [ // コンパイラに与える引数のリスト 12 "-g", // デバッグ情報を付与 13 "-O0", // 最適化レベル 14 "input.c", // ソースファイル名 15 "-oa.exe" // 実行ファイル名 16 ], 17 "group": { // 複数のタスクがある時にこれがデフォルトのビルドタスクとして選択される 18 "kind": "build", 19 "isDefault": true 20 }, 21 // gccでエラーが出た時に該当の箇所へジャンプさせるのに必要 22 "problemMatcher": "$gcc" 23 } 24 ] 25}
input.c
c
1#include <stdio.h> 2#include <stdlib.h> 3#include <string.h> 4#include <math.h> 5int main(void){ 6int yes=0; 7printf("%d\n",yes); 8}
試したこと
エラーメッセージにおける行6、位置(列)27という場所はinput.cにもtask.jsonにもlaunch.jsonにも
存在しない。また、エラーメッセージにおける0x08は、
ASCIIコードによると、BS(後退)
であるが、その場所にはBSは存在しない。
ここで手詰まりの状態になっている。
補足情報(FW/ツールのバージョンなど)
環境は
Windows10 VSC1.43.2 GCC6.3.0 GDB 7.6.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/04/03 12:16
退会済みユーザー
2020/04/03 12:31