デバッグ

コンピュータプログラムや電気機器中のバグを修正する作業

: debugde-[1]bugdebug

1

語源

編集

使1976 Glenford J. Myers  Software Reliability: Principles and Practices "debugging"使1940

使使[2]

ツール

編集

退使使

Java使C[]

well-formed[1]300[][2]lint

BIOS (ICE) 使ICE

基本的な手順

編集

デバッグ作業は対象によってさまざまであるが、一般的なデバッグの原則を見つけることができる。本節ではソフトウェアのデバッグについて扱うが、ハードウェアについても適用できることは多い。

デバッグの基本的なステップは以下である。

  1. バグの存在を認識する
  2. バグの発生源を分離する
  3. バグの原因を特定する
  4. バグの修正方法を決定する
  5. 修正し、テストする

バグの存在を認識する

編集








バグの発生源を分離する

編集





使使t使log2t

バグの原因を特定する

編集

調



調

バグの修正方法を決定する

編集





"quick fix"

修正し、テストする

編集

修正が適用された後にシステムをテストしてその修正が以前の問題に正しく対処しているか確認するのは重要である。テストを行うべき理由は2つある:

  1. その修正が問題に正しく対処しているか
  2. その修正が望ましくない副作用を引き起こしていないか

の確認のためである。

規模の大きなシステムではリグレッションテストを行うのがよい考えである。重大な変更やバグ修正の後で、このテストはシステムが依然仕様通りに動作することを検証するためにいつでも繰り返し実行される。新しい機能が追加されると、追加のテストがテストスイートに収録される。

脚注

編集

注釈

編集


(一)^ CC++C/C++[3][4]JavaC#ill-formed

(二)^ C/C++printfscanf[5][6]

出典

編集

参考文献

編集
  • Agans, David J.. Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems. AMACOM. ISBN 0-8144-7168-4 
  • Telles, Matthew A.; Yuan Hsieh, Matt Telles. The Science of Debugging. The Coriolis Group. ISBN 1-57610-917-8 
  • Metzger, Robert. Debugging by Thinking : A Multidisciplinary Approach. Digital Press. ISBN 1-55558-307-5 
  • Robbins, John. Debugging Applications. Microsoft Press. ISBN 0-7356-0886-5 
  • Ford, Ann R.; Toby J. Teorey. Practical Debugging in C++. Prentice Hall. ISBN 0-13-065394-2 
  • Blunden, Bill. Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code. APress. ISBN 1-59059-234-4 
  • Brooks, Frederick Phillips. The Mythical Man-Month: Essays on Software Engineering. Pearson Addison Wesley. ISBN 0-201-00650-2 
  • Myers, Glenford J. Software Reliability: Principles and Practices. John Wiley & Sons inc. ISBN 0-471-62765-8 
  • Myers, Glenford J. The Art of Software Testing. John Wiley & Sons inc. ISBN 0-471-04328-1 
  • Zeller, Andreas. Why Programs Fail: A Guide to Systematic Debugging. Morgan Kaufmann. ISBN 1-55860-866-4 
  • Andreas Zeller:「デバッグの理論と実践 ―なぜプログラムはうまく動かないのか」、オライリージャパン、ISBN 978-4873115931(2012年12月22日)。

関連項目

編集

外部リンク

編集

以下英語

以下日本語