回答編集履歴
3
Native Debugでの設定方法を追記
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環境での注意書きを追記
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のコメントを修正
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
|
|