回答編集履歴

3

Native Debugでの設定方法を追記

2018/08/16 16:27

投稿

退会済みユーザー
test CHANGED
@@ -243,3 +243,75 @@
243
243
 
244
244
 
245
245
  ![ブレイクポイント](104a01d7cc37f1f16f53c1120f2e267e.png)
246
+
247
+
248
+
249
+ ---
250
+
251
+
252
+
253
+ Debuggerの代替
254
+
255
+
256
+
257
+ MicrosoftのC/C++パッケージにもデバッガーのサポートはありますが、
258
+
259
+ 追加でNative Debug拡張機能をインストールします。
260
+
261
+ 設定はこちらのほうが簡単です。
262
+
263
+
264
+
265
+ ![Native Debug](679ebf5b6f53ea95ccddfbd5ae01b3d0.png)
266
+
267
+
268
+
269
+ launch.jsonの作成する手順の所で`C++ (GDB/LLDB)`の代わりに`GDB`か`LLDB`を選択します。
270
+
271
+
272
+
273
+ launch.jsonを以下のように編集します。
274
+
275
+
276
+
277
+ 書き換えるのは`"target": "./bin/executable",`の部分です。
278
+
279
+
280
+
281
+ ```json
282
+
283
+ {
284
+
285
+ // IntelliSense を使用して利用可能な属性を学べます。
286
+
287
+ // 既存の属性の説明をホバーして表示します。
288
+
289
+ // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
290
+
291
+ "version": "0.2.0",
292
+
293
+ "configurations": [
294
+
295
+ {
296
+
297
+ "name": "Debug",
298
+
299
+ "type": "lldb-mi", // GDBを使う場合はgdbを指定する
300
+
301
+ "request": "launch",
302
+
303
+ "target": "${workspaceRoot}/main.exe",
304
+
305
+ "cwd": "${workspaceRoot}"
306
+
307
+ }
308
+
309
+ ]
310
+
311
+ }
312
+
313
+ ```
314
+
315
+
316
+
317
+ あとは、ブレークポイントを設置してF5でデバッグを開始すればOKです。

2

Mac環境での注意書きを追記

2018/08/16 16:27

投稿

退会済みユーザー
test CHANGED
@@ -10,6 +10,18 @@
10
10
 
11
11
 
12
12
 
13
+ 以下、Windows上でコンパイラにgcc、デバッガにgdbを使用した場合の説明になります。
14
+
15
+ MacでclangとLLDBとか使ってる場合はgccをclangに、gdbをLLDB等に
16
+
17
+ 実行ファイルの拡張子をEXEからMacの実行ファイル形式(outかな?よく知らない)に置き換えて下さい。
18
+
19
+
20
+
21
+ WindowsでVisual Stidio Community等のコンパイラを使っている場合は、VSCodeでは無くVisual Studio上でデバッグしませう(VSCodeでも出来るけど…)。
22
+
23
+
24
+
13
25
  そしたら、メニューの`タスク` > `既定のビルド タスクの構成`を選択します。
14
26
 
15
27
  `構成するタスクの選択`が出るので`テンプレートから task.json を生成`

1

task.jsonのコメントを修正

2018/08/16 14:42

投稿

退会済みユーザー
test CHANGED
@@ -48,13 +48,13 @@
48
48
 
49
49
  {
50
50
 
51
- "label": "Debug Build", // タスクの名前
51
+ "label": "Debug Build", // タスクの名前(デバッグ用のビルドだとわかれば何でも良いです。)
52
-
52
+
53
- "type": "process", // タスクの種類
53
+ "type": "process", // タスクの種類(shell⇢processに書き換えて下さい)
54
-
54
+
55
- "command": "gcc", // コンパイラのコマンド名
55
+ "command": "gcc", // 使用するコンパイラのコマンド名
56
-
56
+
57
- "args": [
57
+ "args": [ // コンパイラに与える引数のリスト
58
58
 
59
59
  "-g", // デバッグ情報を付与
60
60
 
@@ -66,7 +66,7 @@
66
66
 
67
67
  ],
68
68
 
69
- "group": {
69
+ "group": { // 複数のタスクがある時にこれがデフォルトのビルドタスクとして選択される
70
70
 
71
71
  "kind": "build",
72
72
 
@@ -74,7 +74,7 @@
74
74
 
75
75
  },
76
76
 
77
- // gccエラー箇所ジャンプさせるのに必要
77
+ // gccエラーが出た時に該当の箇所ジャンプさせるのに必要
78
78
 
79
79
  "problemMatcher": "$gcc"
80
80