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

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

新規登録して質問してみよう
ただいま回答率
85.48%
デバッグ

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

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

C++

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

Q&A

解決済

2回答

1166閲覧

vscodeでデバッグがうまくできない

sergio

総合スコア10

デバッグ

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

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

C++

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

0グッド

0クリップ

投稿2021/05/25 09:34

編集2021/05/25 10:38

vscodeでC++のデバッグを行おうと思い、
このサイト
のように、
tasks.json」と「launch.json」を下記のように書き換えました。
しかし、その後、別のファイルについてビルド→デバッグを行おうと、
tasks.json内の////////で印を打った部分のファイル名を別のファイルに書き換えて
(new.cppとします)Ctrl+shift+Bを行っても
Executing task: g++ -g -O0 sample.cpp <
と表示され、new.cppのデバッグができません。
やり方が何かおかしいのでしょうか。
教えていただけると幸いです。

tasks.json

{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "g++ compile", "type": "shell", "command": "g++", "args": [ "-g", "-O0", "sample.cpp" //////////////////////// ], "group": { "kind": "build", "isDefault": true } } ] }

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:\\MinGW\bin\gdb.exe" }, "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }

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

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

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

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

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

m.ts10806

2021/05/25 11:20

>vscodeで タグは必要に思います。 https://teratail.com/tags/Visual+Studio+Code それに(質問内容しっかり読んでるわけではないですが) VSCodeでデバッグって過去質問で結構出てるように思います。 この質問ページの下にある「関連した質問」にもそれっぽいタイトルが並んでいます。 それらは参考になりませんか?
sergio

2021/05/26 02:01

vscodeというタグがありませんでした。 調べましたが、なぜかうまくいかないのでしつもんさせていただきました。
m.ts10806

2021/05/26 02:08

タグのリンク貼ってますよ。正式名称は認識してください。 「調べた」「うまくいかない」では赤の他人には何一つ伝わらないので具体的に記載してください。
guest

回答2

0

ベストアンサー

g++の引数として、-g,-O0,sample.cppを渡しています。
常にソースファイルとしてはsample.cppをコンパイルしています。
現在エディターで開いているソースファイルをコンパイルするには、g++の引数に${file}を渡せばいいです。

json

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": "g++ compile", 8 "type": "shell", 9 "command": "g++", 10 "args": [ 11 "-g", 12 "-O0", 13 "${file}" //////////////////////// 14 ], 15 "group": { 16 "kind": "build", 17 "isDefault": true 18 } 19 } 20 ] 21}

とすればコンパイルできるようになります。

投稿2021/05/25 11:58

Bull

総合スコア986

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

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

sergio

2021/05/26 01:59

回答ありがとうございます。 この方法でも常にsample.cppがコンパイルされてしまいます。。。
Bull

2021/05/26 02:16 編集

tasks.json を変更してから保存していますか? また、"${file}" ば現在編集中のファイルをあらわします。 「new.cpp」を編集中にビルドタスクを実行して、sample.cpp がコンパイルされるのはちょっと考えられないのですが。 tasks.json を保存すれば即時に反映されるはずですが、念のため VScode を再起動してみてください。
sergio

2021/05/26 02:39

再起動したらうまくコンパイルできました。 昨日からどうやってもうまくいかなかったので 本当に助かりました。 ありがとうございました。
guest

0

示されているサイトに書かれているようにtasks.jsonのsample.cppはファイル名です。
new.cppのデバッグをしたいだけであればsample.cppの部分をnew.cppに書き換えればいいです。

タスクを実行したファイルでデバッグしたいという場合はsample.cppを以下のように書き換えてください。
${fileBasenameNoExtension}.cpp
↑は一例でほかにも書き方はありますがこれがおすすめです(cppファイル以外を対象にしないように)。

実行するときはデバッグしたいファイルでCtrl+shift+Bを押してください。

詳しくは「VS Codeの設定をキレイに変数置換」をご覧ください。

投稿2021/05/25 11:54

D.K.

総合スコア33

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

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

sergio

2021/05/26 01:59

回答ありがとうございます。 どちらの方法でも常にsample.cppがコンパイルされてしまいます。。。
D.K.

2021/05/26 03:32

tasks.jsonを書き換えた後保存していますか? vscodeでは設定ファイルを書き換えた直後に設定が反映されるのではなく、設定ファイルを保存した段階で反映されます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問