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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Q&A

解決済

1回答

8183閲覧

VSCodeでC言語のデバッグを実行すると、「Unable to start debugging. Launch options string provided by ...」というエラーが出る。

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

0グッド

0クリップ

投稿2020/04/02 16:13

前提・実現したいこと

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

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

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

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

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

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

guest

回答1

0

ベストアンサー

D:\MinGW\bin\gdb.exe に変えてみてください

投稿2020/04/02 23:00

編集2020/04/03 12:26
yuki23

総合スコア1448

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

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

退会済みユーザー

退会済みユーザー

2020/04/03 12:16

ご回答ありがとうございます。 D:\MinGW\binに変えてみましたが、 the value of midebuggerpath is invalidという エラーが出ました。
退会済みユーザー

退会済みユーザー

2020/04/03 12:31

D:\MinGW\bin\gdb.exe に変更したところ、うまくデバッグできました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問