Visual Studio Codeでgdbを使ってデバッグしようとするとエラーが表示される
こんにちは。Visual Studio Code初心者です。
Windows上でVSCode/MinGWを使用してc/c++のビルド&デバッグ環境を構築したいと思っています。
こちらなどを参考に環境構築を試みていたのですが、
ビルドまでは出来たように見えるものの、gdbをコールするところでエラーが発生し、これ以上進められていません。
一方でgdbをコマンドプロンプトから普通に呼ぶとうまくいっているように見えます(後述)。
どなたかお詳しい方、助けて頂けますでしょうか。
宜しくお願い致します。
発生している問題・エラーメッセージ
対象コード
- F:\tmp\code\workspace\helloworld.cpp
helloworld
1#include <iostream> 2#include <vector> 3#include <string> 4 5using namespace std; 6 7int main() 8{ 9 vector<string> msg{"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"}; 10 11 for (const string &word : msg) 12 { 13 cout << word << " "; 14 } 15 cout << endl; 16} 17
- F:\tmp\code\workspace.vscode\tasks.json
tasks
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": "helloworld", 8 "type": "shell", 9 "command": "g++", 10 "args": [ 11 "-g", 12 "helloworld.cpp" 13 ], 14 "group": { 15 "kind": "build", 16 "isDefault": true 17 } 18 } 19 ] 20}
- F:\tmp\code\workspace.vscode\launch.json
launch
1{ 2 // IntelliSense を使用して利用可能な属性を学べます。 3 // 既存の属性の説明をホバーして表示します。 4 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 5 "version": "0.2.0", 6 "configurations": [ 7 { 8 "name": "(gdb) Launch", 9 "type": "cppdbg", 10 "request": "launch", 11 "program": "${workspaceFolder}/a.exe", 12 "args": [], 13 "environment": [], 14 "cwd": "${workspaceFolder}", 15 "stopAtEntry": false, 16 "externalConsole": true, 17 "MIMode": "gdb", 18 "miDebuggerPath": "c:\MinGW\bin\gdb.exe", 19 "setupCommands": [ 20 { 21 "description": "Enable pretty-printing for gdb", 22 "text": "-enable-pretty-printing", 23 "ignoreFailures": true 24 } 25 ], 26 "preLaunchTask": "helloworld" 27 } 28 ] 29}
-c_cpp_properties.json
c_cpp_properties
1{ 2 "configurations": [ 3 { 4 "name": "Win32", 5 "includePath": [ 6 "${workspaceFolder}/**", 7 "C:\MinGW\include" 8 ], 9 "defines": [ 10 "_DEBUG", 11 "UNICODE", 12 "_UNICODE" 13 ], 14 "windowsSdkVersion": "10.0.17134.0", 15 "compilerPath": "C:\MinGW\bin\g++.exe", 16 "cStandard": "c11", 17 "cppStandard": "c++17", 18 "intelliSenseMode": "clang-x64" 19 } 20 ], 21 "version": 4 22}
- VSCode Extension
試したこと
- エラーメッセージに従いVSCodeを再起動してみましたが、状況に変化ありません。
- ビルドの結果、作業フォルダにa.exeが生成されていることを確認しました。
- 生成されたa.exeを実行したところ、"Hello C++ World from VS Code and the C++ extension!"が正常に表示されました。エラーも発生していません。
- 同フォルダでコマンドプロンプトからgdbを直接起動し、正常に動作することを確認しました(少なくともそのように見えます)。
補足情報(FW/ツールのバージョンなど)
- OS : Windows Server 2016
- コンパイラ等 : MinGW (C:\MinGWにインストール。PATH追加済)
- gdb configuration
解決情報
MinGW-w64を再インストールしなおしたところ、正常にデバッグできるようになりました。
(当該事象が発生していた直接の原因は不明ですが、インストール時オプションでx86_64を設定し損ねていた可能性があると思います)
コメント頂いたお二方、誠に有難うございました。
回答1件
あなたの回答
tips
プレビュー