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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

デバッグ

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

Q&A

解決済

1回答

7600閲覧

VScodeでデバッグが出来ない;;on Mac です。(ビルドは出来ており、デバッグも起動はしていますが動作がわかりません)

donkey

総合スコア24

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

デバッグ

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

0グッド

0クリップ

投稿2019/11/28 15:23

編集2019/11/29 06:46

竸プロでc++を使っているのですが、その為にデバッグをしようとしております。環境のほうはMacでコンパイラはclangです。デバッグをするのに苦戦しております。一応デバッグ自体は(恐らく)起動しておりますが、ステップイン等が出来ないので困惑しております。自分で解決しようと試みましたが、心が折れたので質問をする事に決めました。

 私の情報開示が不十分で回答者様に何回も手間を取らせないよう、極力多くかつ丁寧に書きますので分かる方がいましたら何卒回答の方をお願い致します。

VScodeでデバッグをする環境を構築する際、公式ホームページに載っている手順を基本そのまま真似しました。(少し変えた部分はあります。後述します。)
以下デバッグしようとしているソースコードとlaunch.json,c_cpp_properties.json, task.jsonとデバッグコンソールの方に出ているエラーメッセージの方を載せておきます。

以下ファイルとソースコード

{  //launch.json // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { c "name": "(lldb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/helloworld.out", "args": [], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "lldb", "logging": { "trace": true, "traceResponse": true, "engineLogging": true } } ] }
{//c_cpp_properties.json "configurations": [ { "name": "Mac", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "macFrameworkPath": [ "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks" ], "compilerPath": "/usr/bin/clang", "cStandard": "c11", "intelliSenseMode": "clang-x86", "cppStandard": "c++14" } ], "version": 4 }
{//task.json "version": "2.0.0", "tasks": [ { "label": "Build with Clang", "type": "shell", "command": "clang++", "args": [ "-std=c++14", "-stdlib=libc++", "helloworld.cpp", "-o", "helloworld.out", "--debug" ], "group": { "kind": "build", "isDefault": true } }, { "type": "shell", "label": "clang++ build active file", "command": "/usr/bin/clang++", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "/usr/bin" } } ] }
//helloworld.cpp #include <iostream> #include <vector> #include <string> using namespace std; int main() { string s; cin >> s; cout << s << endl; return 0; }

以下エラーメッセージ(デバッグコンソールから抜粋)

Warning: Debuggee TargetArchitecture not detected, assuming x86_64.

問題点について

具体的に何に困っているのか、実際の自分の操作を踏まえて書きます。

まずVScodeのサブフォルダーの中にtask等の三っつのファイルが入っており、helloworld.ccpのみがカレンとディレクトリ上にある状態です。ここでVScodeでhelloworld.cppを開き、コマンド+⇧+Bを押してビルドします。そして成功し、適当にボタンを押してターミナルを閉じ、ここでhelloworld.outとhelloworld.out.dYSMのファイルが生成されます。
ここでhelloworld.cppを開きデバッグ画面を開き右上の緑の右向きの矢印をクリックしデバッグを開始します。ブレークポイントは'cout << s << endl;'の所にしました。

一見正常に動いているかのように感じるのですが、まず左側の方の変数の中身が表示されません。そしてステップイン、ステップアウト、ステップオーバーの三つがクリック出来ないようになっております。
そしてデバッグコンソールには先述してエラー(warning)メッセージが表示された次第です。


自分で試みた事

私がしたのはtask.jsonのintelliSenseModeを86系にしたくらいです。ターミナルで自分のclangを調べたらx86_64とあったからです。ちなみに動作の方は変わりませんでした。困ったままです。竸プロ用にcppstadardをc++14にしました。あとファイルの名前やパスを多少弄りましたが、何も変わらず(余計にエラーしただけでビルドができなくなっただけ)困ったままです。


ビルドは成功しているのは確かで、デバッグも起動しているが動作が理解できないのでこのような質問させて頂きました。理想としてはstring s の中身をデバッグ画面で見ることができるような状態です。

長々と申し訳ありません。何が問題なのかご教授していただければ嬉しいです。
何か私の説明で不十分な所があれば対応させて頂きますので遠慮なく言って下さい。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こちらに記事を書いてみたので、下記の通りやっていたければできると思います。
CでもC++でも変わらないです。

MacでVSCodeを使ってC言語のデバッグをする方法 - Qiita
https://qiita.com/Kchan_01/items/56a7e37577a6b05d0a81

投稿2020/02/25 08:34

Kchan_01

総合スコア110

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

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

donkey

2020/08/19 16:07

返信凄く遅くなってしまいまして大変申し訳ありません。解決したので感謝しております。有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問