##発生している問題
下記コードのmap<int, int> ma;
にbreakpointを置きデバックを始め、map<int, int> ma;
の位置で止まった際にデバックのコマンドが効かなくなる(step overやstep inなどのコマンドが機能しない)ことです。
##目標
mapを使ったコードでもデバックができるようにしたいです。
##環境
visual stdio code 1.46.0
Mac OS 10.15.4
clang:Apple clang version 11.0.3 (clang-1103.0.32.29)
##コード
c++
1#include <iostream> 2#include <map> 3 4using namespace std; 5 6int main() 7{ 8 9 map<int, int> ma; 10 11 return 0; 12} 13
#####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": [ { "name": "clang++ - Build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "lldb", "preLaunchTask": "clang++ build active file" } ] }
##自分が考えたこと
test
1#include <iostream> 2#include <map> 3#include <list> 4#include <vector> 5 6using namespace std; 7 8int main() 9{ 10 int i; 11 cin >> i; 12 13 vector<int> v(i); 14 std::list<int> lst; 15 map<int, int> ma; 16 17 cout << "Hello" << endl; 18 19 return 0; 20}
のように、map以外の型でも試してみました。
上記のtest
コードでcin >> i;
の行にブレークポイントを置いた時でも同じ挙動を確認しました。
上記のコードでmap<int, int> ma;
をコメントアウトしたところ問題なくデバックできたためmap<int, int> ma;
のみに問題があると考えています。
また、clang++ -std=c++17
でビルドをし実行ファイルを起動しても問題がなかったことからデバックに問題があると考えています。
clang++ -std=c++11
でも問題ありませんでした。
あなたの回答
tips
プレビュー