![](https://habrastorage.org/web/48e/9b9/623/48e9b96239ad44789f1ece96dda57ed8.jpg)
著者に発言権を与えます。
最近では、Linuxに移行しました。 もちろん、Windowsでの開発はより便利で楽しいですが、ここでは「printfスタイルのデバッグ」などの方法に頼らずに、C / C ++コードを簡単かつ迅速にデバッグする効果的な方法も見つけました。
それでは始めましょう。
sublime
(または
gedit/kate/emacs
)で
gedit/kate/emacs
し、ターミナルで実行することは
gedit/kate/emacs
解決策であり、動的メモリ割り当てを初めて使用するときはほとんどエラーを見つけることができません。 また、プロジェクトに時間がかかる場合はどうなりますか? より便利な解決策があります。 はい、エディターでのGitのサポート、さらにはいくつかの利点もあります。
今日はVisual Studio Codeについてお話します。
設置
Ubuntu / Debian
- 拡張子が.debのバージョンのVS Codeパッケージをダウンロードします
- パッケージがダウンロードされたフォルダーに移動します(cd〜/ Downloadsまたはcd〜/ Downloads)
- (パッケージ名).debはダウンロードしたファイルの名前です:
sudo dpkg -i ( ).deb sudo apt-get install -f
OpenSUSE / SLEベースのdistr
- リポジトリをインストールします。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/VScode.repo'
- パッケージを更新し、VSコードをインストールします。
sudo zypper refresh sudo zypper install code
C / C ++の拡張機能
C / C ++ファイルを操作するときにVS Codeが完全に同行するには、「cpptools」拡張機能をインストールする必要があります。 また、スニペットのセットの1つを配置すると便利です。
![](https://habrastorage.org/web/c7d/130/b19/c7d130b194054fe58c0e8a847770f8cd.jpg)
編集可能なファイルの自動保存を有効にすることを強くお勧めします。これは将来的に役立ちます。
![](https://habrastorage.org/web/9c0/e0f/6fe/9c0e0f6fe96e4056b8cd52dfe2152c34.jpg)
続けましょう。 任意のフォルダーを開きます(新規かどうかは関係ありません)。
![](https://habrastorage.org/web/364/018/86c/36401886cd8e40b98739e7a30a46255a.jpg)
このフォルダには、C / C ++で作業するためのファイルが既にいくつかあります。 ここでベストプラクティスの1つをコピーするか、新しいファイルを作成できます。
![](https://habrastorage.org/web/08e/20a/b2e/08e20ab2e9e648b799a172ad93291c4b.jpg)
何も残っていません。 1つのキーでコンパイルを設定し、
printf
なしでデバッグする方法を学びます。
ステップ1 .c / .cppファイルを開きます。これは(必ずしも)フォルダー内にあります。
ステップ2 Ctrl + Shift + Bを押します。 VS Codeは、プロジェクトのビルド方法がわからないことを優しく教えてくれます。
![](https://habrastorage.org/web/62b/9a7/75f/62b9a775fc1a463787088963bfebb3c2.jpg)
ステップ3 したがって、ビルドタスクをさらに構成します。[ビルドタスクの構成]-> [その他]を選択します。
ステップ4 サンプルに従って構成を規定します。 実際、コンソール用のスクリプトを作成しているので、それを扱った人なら誰でも理解できます。 ソースコードをコンパイルするには、コンパイラ自体をシステムにインストールする必要があることに注意してください(gccなど、
command
フィールドの値のみが異なります)。 したがって、.cppをコンパイルするには、
command
フィールドに
g++
または
c++
を指定し、.cに
gcc
を指定する必要があります。
ステップ5
args
は、コンパイラの入力に渡される引数
args
記述します。 順序は次のようにする必要があることを思い出してください:
-g, < >
。
注:プログラムがソースコードを持つ複数のファイルを使用する場合は、コンマで区切られた異なる引数でそれらを指定します。 また、
-g
スイッチ(またはそれ以上の
-g3
)も
-g3
。 そうしないと、プログラムをデバッグできません。
ビルドプロジェクトで
makefile
を使用する場合は、
command
フィールドに
make
と
command
、ビルドディレクティブを引数として渡します。
![](https://habrastorage.org/web/6a9/e76/0b3/6a9e760b3607416c9fc72471c8e54f89.jpg)
ステップ6 次に、ソースに戻ります。 F5を押してC ++を選択します。
![](https://habrastorage.org/web/98f/e6a/c4e/98fe6ac4ee3f488d814a2a620ab88e63.jpg)
ステップ7 プログラムファイルへのパスを書き込むためだけに残ります。 デフォルトでは
${workspaceRoot}/a.out
ですが、ビルドファイルで
-o
フラグを指定し、コンパイルされたプログラムファイルの名前を変更したため、プログラムへのパスがあります:
${workspaceRoot}/main
![](https://habrastorage.org/web/8c4/4ef/7c6/8c44ef7c6ac64d3d9e07b65319402714.jpg)
ステップ8 さらに、VS Codeのすべての利点を使用するために何も必要ありません。 メインプロジェクトに渡します。
デバッグ
まず、プログラムをコンパイルします(いいえ、いいえ、ターミナルを削除します。これは、Ctrl + Shift + Bを押すことで行われます)。
![](https://habrastorage.org/web/41c/f3d/15b/41cf3d15b8934624bf5041d0e92b0f21.jpg)
ご覧のように、
main
にエクスプローラーが表示されたため、すべてが正常に完了し、アセンブリはエラーなく実行されました。 私のプログラムは大きすぎませんが、すぐに実行されます。 つまり、デバッグは別の端末で実行され、プログラム
main() "return 0;"
と終了するため、純水の失敗
main() "return 0;"
。
![](https://habrastorage.org/web/cb9/ef5/d31/cb9ef5d31694435592b794a73545ba2b.jpg)
ブレークポイントの時間です。
"return 0;"
行を選択し
"return 0;"
F9を押します。
![](https://habrastorage.org/web/87c/12f/407/87c12f407bce45818ebd1506aedf6221.jpg)
左側の赤い点でマークされた行は、プログラムが実行時に停止する場所です。
次に、F5を押します。
![](https://habrastorage.org/web/a9b/cfd/6ba/a9bcfd6ba5bd4746b2df3b22a0c79bae.jpg)
私が言ったように、プログラムは実行を停止しました。 ローカル変数のあるウィンドウに注意してください。
![](https://habrastorage.org/web/7ad/9b0/9de/7ad9b09de90b44dcb5c8fd0b452b8a2d.jpg)
便利に。 また、停止すると、コード内の変数と構造の上にマウスを移動して、それらの値を監視できます。
![](https://habrastorage.org/web/c13/9ac/31d/c139ac31d5634cf39fca37690ddf63e4.jpg)
また、実行のある段階で、この操作またはその操作のステップごとの実行、たとえばサイクルを確認する必要がある場合は、その前にブレークポイントを置き、F10を押してサブプログラムとF11を入力せずに現在の行を実行します。
式を手動で読み取るのが非常に面倒な場合もありますが、デバッグには、たとえば配列の3つの要素の合計の値、または大きな論理式の値を知る必要があります。 これには制御値があります。 これだけでなく、はるかにコントロール値(または「ウォッチ」)を表示できます。
![](https://habrastorage.org/web/5fc/f36/07c/5fcf3607c914414ab9ea7a23bf6380ee.jpg)
重要:
- フォルダーごとに、アセンブリファイルとプログラムへのパスを個別に構成する必要があります。
- VS Codeは問題を解決しませんが、問題をより迅速に処理するのに役立ちます。 そして時々。
- 各プログラムを変更した後、Ctrl + Shift + Bを押して再度コンパイルする必要があります。
便利なショートカットはこちらでご覧いただけます 。
著者について
![](https://habrastorage.org/web/03f/35e/9f0/03f35e9f0dc94a4c86b465f54ed247cd.jpg)
Maximilian Spiridonov -C#開発者、MAI学生、マイクロソフト学生パートナー。 私は学校で.NETの専門能力開発に来ました。 約1年間、彼はWPF(MVVM)+ C#、MySQLの実際のプロジェクトで働いており、C#で4年以上開発しています。 現在の主な関心分野は、Xamarinでのモバイル開発です。 また、偶然にも、興味のある分野はC / C ++とLinuxでした。