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

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

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

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

1722閲覧

Visual Studio Code でデバッグを行いたい

kurokko

総合スコア15

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

1クリップ

投稿2021/06/26 01:20

Visual Studio Code でデバッグを行いたい

現在、c++の勉強をしていて、デバッグの環境を整えようとしたところつまずいてしまったので、解決方法を教えていただけるとありがたいです。

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

Unable to start debugging. The value of miDebuggerPath is invalid

というエラーが出てしまいます。

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.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "windows": { "miDebuggerPath": "C:/msys64/usr/bin/gdb.exe" }, "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }

試したこと

https://qiita.com/AokabiC/items/e9312856f588dd9303ed
このサイトを参考にVisual Studio Code を導入しました。
実行はできるようになりました。
Pathの中身をいろんなサイト参考に変更してみたのですが、エラーメッセージは変わりませんでした。
そもそもPathについてよくわかっていないので、このことについても教えていただけるとありがたいです。

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

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

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

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

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

kurokko

2021/06/27 01:34

返信が遅れて大変申し訳ないです。 "miDebuggerPath": "C:/msys64/mingw64/bin/gdb.exe", のように書き直しても、同じエラーが出てしまいました。 "program": "${workspaceFolder}/a.out", を"program": "${workspaceFolder}/a.exe", と直すと、「launch:program'C:\C++Project\a.exe' does not exist 」というエラーが出てしまいました。 C:/msys64/usr/bin/gdb.exeについて確認したところ、見つかりませんとなってしまいました。 miDebuggerPathにはどのパスを入れればいいのでしょうか?
jbpb0

2021/06/27 11:02

C:\msys64\usr\bin に「gdb.exe」はありますか? ない場合ですが、Msys2のgdbをインストールしましたか? 参考 http://www.den.t.u-tokyo.ac.jp/ad_prog/msys2/ の「必要なソフトウェアのインストール」 Msys2のgdbをインストール済みの場合は、Msys2をインストールした場所の下のどこかに「gdb.exe」があるはずなので、探してください 見つかったら、それの絶対パスの「\」を「/」に変えたものを「miDebuggerPath」に設定してみてください
kurokko

2021/06/28 02:28

返信ありがとうございます。 どうやらgdb.exeがなかったようなので、送っていただいたURLからインストールしました。 gdb.exeに関するエラーはなくなりました。 ありがとうございます。 ただ、今度はコンソールに次のようにエラーが出てしまいました。 ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". Error creating process C:\C++Project\a.out, (error 193). The program 'C:\C++Project\a.out' has exited with code 42 (0x0000002a). どのようにしたらいいのでしょうか?
jbpb0

2021/06/28 03:11

デバッグしようとしているソースコードに依存するのか確認するために、 https://www.geekpage.jp/programming/c/helloworld.php の「とりあえず書いてみる」のソースコードで、同じエラーが出るか試してみてください
jbpb0

2021/07/01 04:19

もし、上記Webページのような簡単なコードでもエラーになるなら、VS Codeを使わなくて、gdb単独でならちゃんと使えるかを確認することをお勧めします おそらく、Windowsのメニューで「MSYS2」→「MinGW 64bit Shell」みたいなの(名前は微妙に違うかも)を辿って実行したら、gccとかgdbとかがコマンドラインで実行できるようなターミナル(コマンドプロンプトみたいなもの)が起動すると思うので、その状態で、 https://rat.cis.k.hosei.ac.jp/article/devel/debugongccgdb1.html に書かれてるようなことが実行可能か確認して、もしうまくいかなければ、VS Code上でも当然ダメですから、それを直す必要があります gdb単独でなら使えるなら、原因はおそらくVS Code側にあります 設定か、あるいは使い方か
kurokko

2021/07/03 06:36

送ってもらったURLの「とりあえず書いてみる」のソースコードで試したところ、同じエラーが出てしまいました。 ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". Error creating process C:\C++Project\a.out, (error 193). MinGWであっても実行できなかったので、まずそこを直すことにしました。 MinGWをインストールしたときにPathを設定していなかったことが原因でした。 これを解決するときは以下のサイトが役に立ちました。 https://dianxnao.com/windowsにc言語開発環境-mingw-w64(gccコンパイラ)を導入する/ 最終的に、コマンドプロンプト上で実行することはできるようになりましたが、VS codeでデバッグすることはできませんでした。 もう少し調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問