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

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

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

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

デバッグ

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

解決済

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

donkey
donkey

総合スコア24

Visual Studio

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

デバッグ

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

1回答

0評価

0クリップ

6167閲覧

投稿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 の中身をデバッグ画面で見ることができるような状態です。

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

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Visual Studio

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

デバッグ

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