こんにちは、現役エンジニアの inno_tech です。
VSCode (Visual Studio Code) で C/C++のデバッグ中に配列の中身を表示 する方法をお探しでしょうか?
配列の中身もVSCodeの機能で見れますが、少しテクニックが必要です!
説明用 サンプルCプログラム
今回は、下記に示すようなプログラムを用意しました。int型の配列を用意し、配列の各要素に連番を入れるシンプルなプログラムです。
#include <stdio.h>
int main(void)
{
int size = 5;
// 配列を確保
int* p_number_array = (int*)malloc(size);
// 値をセット
for(int i = 0; i < size; i++ ){
p_number_array[i] = i;
}
// メモリを解放
free(p_number_array);
return 0;
}
このプログラムをVSCode上でデバッグ実行し、配列の中身を表示する方法を説明します。
VSCode のインストール方法はこちらの記事を参考にして下さい。
C/C++の開発環境の構築については、これらの記事を参考にして下さい。
問題 | デバッグウィンドウ の VARIABLES には先頭アドレスしか表示されない
早速デバッグを実行し、ブレークポイントを設定してプログラムを一時停止させました。VSCode の デバッグウィンドウ を開き、「VARIABLES(変数)」を確認します。
配列の変数であるp_number_array
がリストに表示されていますが、先頭アドレスの値(配列 0番目の要素)しか見ることができません。
配列の中身を全部見たいんだけど…
続いて、配列の1番目以降の要素の値を見る方法を解説します。
解決方法 | WATCH に確認したい変数を指定する
配列の中身を表示したい場合は、WATCH に式を追加することで表示されます。
具体的な指定方法 と 実際に表示した画面キャプチャ を以下に用意しました、ご確認ください。
p_number_array[1]
のように指定すると、配列の特定の要素の値を表示できます。p_number_array, 5
のように指定すれば、先頭から5個分の要素を表示できます。
[配列名], [個数] で指定した分のメモリの中身が表示されます!
構造体 や クラスの配列 も、同様な方法で中身を確認することができますよ。
まとめ
今回のまとめです。
- VSCodeでも配列の中身をデバッグできる.
- 「VARIABLES」では配列の先頭要素しか表示されない.
- 「WATCH」に
[配列名], [個数]
と指定することで、対象の変数を指定した数分表示させることが可能.
最後に、紙の本[経済・ビジネス]部門で2022年年間ランキングで第1位になったベストセラー書籍がこちら。
参考になったでしょうか。
ほかにも役立つ情報が他のページにもあるかもしれません。
ご覧になるかはあなた次第です!
この記事がイイねと思ったら、Twitterフォロー か にほんブログ村のどちらかしてくれたら嬉しいよ!
コメント / ご要望