はじめに
- Macでしか試してません
- 1フォルダ1プロジェクトです。
- ひとつのフォルダにtest.c test2.cみたいなのはダメです
- どこでSegmentation Faultしたかわかるよ!
- 2019/5/21に更新
いるもの
- VSCode
- VSCode用C/C++の拡張機能
- Xcode Command Line Tools
やってみよう
コード
- 実行するとSegmentation Faultが出ます
test.c
#include <stdio.h>
int main(int argc, char const *argv[])
{
int i;
int *pointer;
for (i = 0; i < 3; i++)
{
printf("Hello World!\n");
}
*pointer = 1;
return 0;
}
ステップ1: 環境の選択
- 適当に保存
-
デバッグ→デバッグの開始を選択
自動的にステップ2に進むかもしれません
ステップ2: いざデバッグ
- 書いたソースコードに戻る
- もう一度「デバッグの開始」
- (ステップ1の2と同じ)
- 許可しますか?みたいなことを聞かれたらパスワードを入力
- Segmentation Faultがあったのでこのように怒られます
-
赤丸のボタンを押せば、プログラムを順を追いながら実行できます。
[続行]ボタン:中断したプログラムの実行を続行する
[ステップ オーバー]ボタン:現在行を実行する。行に関数呼び出しが含まれているときには、その関数を呼び出して、関数呼び出し後の行で実行を中断する
[ステップ インする]ボタン:現在行を実行する。行に関数呼び出しが含まれているときには、その関数の先頭行で実行を中断する
-[ステップ アウト]ボタン:現在実行中の関数を最後まで実行して、その関数を呼び出した次の行で実行を中断する
[再起動]ボタン:デバッグを最初からやり直す
[停止]ボタン:デバッグを終了する
VS CodeでPythonコードのデバッグも楽々!! (1/4):Visual Studio Codeで始めるPythonプログラミング - @IT
- 赤い四角を押せば終了です。お疲れ様でした
補足
- scarf()は使わない方が楽です。
- コマンドライン引数はlaunch.jsonのargs内に書きましょう
- グローバル変数はわかりません
参考
VSCodeでC言語を実行 - Qiita
Mac の Visual Studio Codeで C/C++ をデバッグするまで(OSX10.11.6, VSCode1.4.0) - Qiita