Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Article information
RevisionsShow article in Markdown
Report article
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

This post is Private. Only a writer or those who know its URL can access this post.

posted at

updated at

デバッグ手法について(XCode11で実際にやってみる)

目次

  1. デバッグとは
  2. 今回実施する内容(実演)

1. デバッグとは

プログラムの誤り/欠陥を発見して仕様の通りに修正すること
最初からうまく動作するプログラムはありません。エラーが発生する・アプリが落ちる・仕様通りに動かない等の問題に対して、原因を特定し、正常にシステムを稼働させるためにはデバッグという知識はとても重要。

デバッグに必要な知識とは何か?
  1. バグ発生時に仮説をたてられる能力
  2. 仮説に基づいて検証できる能力
  3. 検証した結果、正常に動作させるために修正する能力
    (参考: https://style.potepan.com/articles/3598.html)

2の「仮説に基づいて検証できる能力」にはツールの理解も重要。
今回はXCodeを使って既存のデバッグ方法~XCode11で新しく追加されたデバッグの方法について調べた。

語源

グレース・マレー・ホッパーというアメリカ海軍に所属していた計算機科学者が、"蛾がリレー(電源用の電力を出力する機器)の中に入って動作不良を起こすのを見た" ことから、動作不良を起こすエラーを取り除く作業のことをデバッグと名付けるという逸話があるらしい..。
(wiki参照: https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%90%E3%83%83%E3%82%B0)

<デバッグの原則>
一般的に以下の手順でデバッグを行う

 1. バグの存在を認識 
 2. バグ発生源の分離
 3. バグ発生源の特定
 4. バグ修正方法の決定
 5. 修正/動作確認の実施
   L 実際現場ではテストコードが準備されており、テストがパスするかどうか確認する

2. 今回実施する内容(実演)

<今日実施するレポジトリ>
https://github.com/mht-kazuya-hosokawa/HeroSampleApp1

<前提>

以下の3画面が表示されるアプリを使用して実演します。

導線:

Top画面 → メンバー一覧画面 (MainViewController) → 詳細画面 (DetailViewController)
スクリーンショット 2020-04-25 10.58.58.pngスクリーンショット 2020-04-25 10.57.32.pngスクリーンショット 2020-04-25 10.58.06.png

実演に関しては以下Yotubeにて配信

「【TUBオンライン】iOS開発者必須のデバッグ手法」

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Article information
RevisionsShow article in Markdown
Report article
Help us understand the problem. What are the problem?