vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)

Slides:



Advertisements
Similar presentations
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
Advertisements

オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
BBT大学 Ruby on Rails開発環境セットアップマニュアル
WinDBG6によるRTX5.5デバッグ RTX開発環境 WinDBG6.0 debugモードで起動 232Cクロスケーブル
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
UNIX利用法.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
UNIX利用法 情報ネットワーク特論資料.
ループで実行する文が一つならこれでもOK
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
ゲームプログラミング講習 第1章 DXライブラリ入門
CODE::BLOCKSで 無料で簡単 Windowsアプリ開発
第2章 数値の入力と変数 scanfと変数をやります.
第6章 2重ループ&配列 2重ループと配列をやります.
情報工学科 二宮 洋・鈴木 誠 小林 学・高畠俊徳 火曜日 1コマ目
マイクロソフト Access を使ってみよう 第1回
マイクロソフト Access を使ってみよう 第4回
第2回 Microsoft Visual Studio C++ を使ってみよう
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
繰り返し計算 while文, for文.
Borland Delphi 6 でビジュアルプログラミング
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
Microsoft Visual Studio 2005 の使い方
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
C言語講習 第0章 Hello, world!.
プログラミング応用 printfと変数.
Cプログラミング演習 第7回 メモリ内でのデータの配置.
湘南工科大学 2013年10月8日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
0.2 プロジェクトの準備 DXライブラリを使うための準備.
マイクロソフト Access を使ってみよう 第2回
Cの実行モデル.
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
Visual Studio 2005の使用方法 新入生セミナー 
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
マイクロソフト Access を使ってみよう 第3回
2017年度 プログラミングⅡ ~ はじめてのプログラミング ~.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
ex-8. 平均と標準偏差 (Excel 実習シリーズ)
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
C言語 はじめに 2016年 吉田研究室.
高度プログラミング演習 (01).
表計算 Excel 演習 1.Excel を使ってみる.
5.集計,ピボットテーブル(クロス集計表)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
プログラミング入門 電卓を作ろう・パートI!!.
第5回 プログラミングⅡ 第5回
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
pf-5. 関数呼び出し,スコープ (Python プログラミング基礎を演習で学ぶシリーズ)
pf-4. 式の抽象化と関数 (Python プログラミング基礎を演習で学ぶシリーズ)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
pf-6. スタック (Python プログラミング基礎を演習で学ぶシリーズ)
ex-11. データの入力規則 (Excel を演習で学ぶシリーズ)
ex-8. 平均と標準偏差 (Excel を演習で学ぶシリーズ)
標準入出力、変数、演算子、エスケープシーケンス
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
extern の意味 (C プログラミング演習,Visual Studio 2019 対応)
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
pf-2. 条件分岐 (Python プログラミング基礎を演習で学ぶシリーズ)
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
プロジェクト演習Ⅱ インタラクティブゲーム制作
3 ウイルスチェック ~方法1~ ウイルスチェックの方法 USBメモリの場合 ①USBをパソコンに差し込む。 ウイルスチェックをしよう
mi-5. プロダクションシステム 人工知能を演習で学ぶシリーズ(5)
プロジェクト演習Ⅱ インタラクティブゲーム制作
printf・scanf・変数・四則演算
Presentation transcript:

vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ) https://www.kunihikokaneko.com/cc/vc/index.html 金子邦彦

目次 2-1. デバッガーの機能 2-2. ステップオーバー機能 2-3. 変数の変化,プログラム実行の流れ

2-1 デバッガーの機能

2-1 デバッガー デバッガーとは、プログラムの不具合(バグ) の発見や修正を支援するソフトウェアのこと ※ バグを自動的に取り除いてくれるわけではない 主な機能 ◆ ブレークポイント機能: プログラムの実行中断 ◆ トレース機能: プログラム実行中に変数の値などを表示

② 「デバッグ」→「ブレークポイントの設定/解除」 Visual Studio 2015 でのブレークポイント設定手順 赤丸 ① 「return 0;」の行を マウスでクリック ② 「デバッグ」→「ブレークポイントの設定/解除」 ③ ブレークポイントが設定されるので確認 ブレークポイントとは、 プログラムの実行を中断 させたい行.複数設定可 ブレークポイントを解除したいときは赤丸をクリック ※ 同様の操作で、ブレークポ イントの設定もできる

Visual Studio 2015 でのデバッガー起動手順 ① 「デバッグ」 → 「デバッグの開始」 形が変化! これは、プログラムの実行が、ここで中断していることを示す ブレークポイントが設定された状態で、デバッガーを起動しようとしている

パソコン演習 Visual Studio 2015 で「return 0;」の行にブレーク ポイントを設定しなさい あとで使うので、中断したままにしておくこと

2-2 ステップ実行機能

2-1 ステップ実行機能 ステップ実行機能を使うことで、 変数の値の変化 ※ 変数名と値の対応表 メモリ中のデータの変化 ※ ダンプリスト形式 変数 x の値が 0 から 3 に変化 <ステップ実行機能で表示できる>

ステップ実行の種類 ステップオーバー F10キー プログラム実行を1行進める.関数の中に入らない ステップイン F11キー プログラム実行を1行進める.関数の中に入る ステップアウト Shift と F11キー同時押し 関数の外に出る ※ 「関数」は、 プログラミング言語の関数のこと

Visual C++ のソースファイル例 ← 4行追加 自動生成されたプログラムを活用(4行追加するだけ)

Visual C++ のソースファイル例 変数 x に値 3 をセット 変数 y に値 4 をセット x と y の値を足して、 結果を z に格納 ※ 「static int x, y, z;」の「static」は、変数 x, y, z のメモリへの格納法をコントロールするキーワード

変数の値の変化 この行で、 x の値は 3 に変化 この行で、 y の値は 4 に変化 この行で、 z の値は 7 に変化

パソコン演習 ステップオーバー機能 Visual Studio 2015 を起動しなさい Visual Studio 2015 で、Win32 コンソールアプリ ケーション用プロジェクトを新規作成しなさい プロジェクトの「名前」は何でもよい

「Win32コンソールアプリケーション」→「OK」 Visual Studio 2015 で Win 32 コンソールアプリケーション用プロジェクトの新規作成 (1/2) 名前は変えなくてもよい ① 「ファイル」→ 「新規作成」 →「プロジェクト」 ② 「Visual C++」→ 「Win32コンソールアプリケーション」→「OK」 ③ 「次へ」 ※ 次ページに続く Win32コンソールアプリケーションとは,起動すると,Win32コンソール(例えば右図)が開くアプリのこと

Visual Studio 2015 で Win 32 コンソールアプリケーション用プロジェクトの新規作成 (2/2) ④ 「完了」をクリック ⑤ プロジェクトが新規作成されるので確認

Visual Studio 2015 の Win 32 コンソールアプリケーション用プロジェクト 編集中のファイル名が表示 ソースファイルを クリックすると エディタが 自動で開く ※ Win32 コンソールアプリケーション用プロジェクトを新規作成したとき、エディタが自動で開くので、そのまま使ってよい

3. Visual Studio 2015 のエディタを使って、ソース ファイルを編集しなさい ← 4行追加

4. ビルドしなさい.ビルドのあと「1 正常終了、 0 失敗」の表示を確認しなさい → 表示されなければ、プログラムのミスを自分で確 認し、修正して、ビルドをやり直す

② 「デバッグ」→「ブレークポイントの設定/解除」 5. Visual Studio 2015 で「x = 3;」の行に、 ブレークポイントを設定しなさい ② 「デバッグ」→「ブレークポイントの設定/解除」 ① 「x = 3;」の行を マウスでクリック ③ ブレークポイントが設定されるので確認 赤丸がブレークポイントの印

6. Visual Studio 2015 で、デバッガーを起動しなさい. 7 6. Visual Studio 2015 で、デバッガーを起動しなさい. 7. 「x = 3;」の行で、実行が中断することを確認しな さい あとで使うので、中断したままにしておくこと 「デバッグ」 → 「デバッグの開始」 「x = 3;」の行で実行が 中断している

8. 「x = 3;」の行で、実行が中断した状態で、変数 の値を表示させなさい.手順は次の通り. 変数 x, y, z の値はすべて0 ② 変数名と値の対応表が 表示される ①「デバッグ」 → 「ウインドウ」 → 「ローカル」 「x = 3;」は未実行で あることを確認!

9. 1回だけステップオーバーの操作を行い、変数 x の値が 3 に変化することを確認しなさい. 「デバッグ」 → 「ステップオーバー」 (あるいは F10 キー) 「x = 3;」が実行された

10. もう1回だけステップオーバーの操作を行い、 変数 y の値が 4 に変化することを確認しなさい. 「デバッグ」 → 「ステップオーバー」 (あるいは F10 キー) 「y = 4;」が実行された

11. もう1回だけステップオーバーの操作を行い、 変数 z の値が 7 に変化することを確認しなさい. 「デバッグ」 → 「ステップオーバー」 (あるいは F10 キー) 「z = x + y;」が実行された

12. 最後に、プログラム実行の続行の操作を行いなさい。 これで、デバッガーが終了する。 12. 最後に、プログラム実行の続行の操作を行いなさい。 これで、デバッガーが終了する。  「デバッグ」 → 「続行」

2-3 変数の変化,プログラム実行の流れ

繰り返しの例 y x i の値は 0 → 1 → 2 → 3 → 4 → 5 と変化し,全部済んだら終わる Visual C++ のプログラム 36 60 24 12 3 5 2 1 繰り返す処理 i の値は 0 → 1 → 2 → 3 → 4 → 5 と変化し,全部済んだら終わる

パソコン演習 Visual Studio 2015 を起動しなさい Visual Studio 2015 で、Win32 コンソールアプリ ケーション用プロジェクトを新規作成しなさい プロジェクトの「名前」は何でもよい

3. Visual Studio 2015 のエディタを使って、ソース ファイルを編集しなさい 6行追加

4. ビルドしなさい.ビルドのあと「1 正常終了、 0 失敗」の表示を確認しなさい → 表示されなければ、プログラムのミスを自分で確 認し、修正して、ビルドをやり直す

5. Visual Studio 2015 で「for (i = 0; …」の 行に、ブレークポイントを設定しなさい ③ ブレークポイントが設定されるので確認. 赤丸がブレークポイントの印 ① 「 for (i = 0;」の行をマウスでクリック ② 「デバッグ」→「ブレークポイントの設定/解除」

6. Visual Studio 2015 で、デバッガーを起動しなさい. 7 6. Visual Studio 2015 で、デバッガーを起動しなさい. 7. 「for (i = 0; …」の行で、実行が中断することを確認し なさい あとで使うので、中断したままにしておくこと 「デバッグ」 → 「デバッグ開始」 「for (i = 0; …」の行で実行が 中断している

8. 「for (i = 0; …」の行で、実行が中断した状態で、 変数の値を表示させなさい.手順は次の通り. ② 変数名と値の対応表が 表示される ①「デバッグ」 → 「ウインドウ」 → 「ローカル」 ※ 次ページに拡大図

変数 i の値は、変な値に なっているはず 「y[i] = x[i] * 12;」は 未実行であることを確認!

9. ステップオーバーの操作を1回ずつ行いながら、 実行の流れを確認しなさい. 「デバッグ」 → 「ステップオーバー」 (あるいは F10 キー)

10. 最後に、プログラム実行の再開の操作を行いなさい。 これで、デバッガーが終了する。 10. 最後に、プログラム実行の再開の操作を行いなさい。 これで、デバッガーが終了する。  「デバッグ」 → 「続行」

パソコン演習 Visual Studio 2015 を起動しなさい Visual Studio 2015 で、Win32 コンソールアプリ ケーション用プロジェクトを新規作成しなさい プロジェクトの「名前」は何でもよい

3. Visual Studio 2015 のエディタを使って、ソース ファイルを編集しなさい ← 追加

4. ビルドしなさい.ビルドのあと「1 正常終了、 0 失敗」の表示を確認しなさい → 表示されなければ、プログラムのミスを自分で確 認し、修正して、ビルドをやり直す

5. Visual Studio 2015 で「s = 0;」の行に、 ブレークポイントを設定しなさい マウスでクリック ② 「デバッグ」→「ブレークポイントの設定/解除」 ③ ブレークポイントが設定されるので確認. 赤丸がブレークポイントの印

6. Visual Studio 2015 で、デバッガーを起動しなさい. 7 6. Visual Studio 2015 で、デバッガーを起動しなさい. 7. 「s = 0;」の行で、実行が中断することを確認しなさい あとで使うので、中断したままにしておくこと 「デバッグ」 → 「デバッグの開始」 「s = 0;」の行で実行が 中断している 黄色の 矢印

8. 「s = 0;」の行で、実行が中断した状態で、変数 の値を表示させなさい.手順は次の通り. ② 変数名と値の対応表が 表示される 変数の値がおかしい → これは正しい動作。 今の時点では, 「s = 0;」は未実行であることを確認! ①「デバッグ」 → 「ウインドウ」 → 「ローカル」

9. ステップオーバーの操作を1回ずつ行いながら、 実行の流れと、変数 s, i の値の変化を確認しなさい. 「デバッグ」 → 「ステップオーバー」 (あるいは F10 キー)

さらに続ける

10. 最後に、プログラム実行の再開の操作を行いなさい。 これで、デバッガーが終了する。 10. 最後に、プログラム実行の再開の操作を行いなさい。 これで、デバッガーが終了する。  「デバッグ」 → 「続行」