デバッグ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/14 01:51 UTC 版)
ソフトウェア開発 |
---|
中心となる活動 |
パラダイムとモデル |
方法論とフレームワーク |
開発支援 |
プラクティス |
ツール |
標準と機関 |
用語集 |
|
サブシステムが密結合であると、1箇所の変更が別の箇所でのバグを作り出すので、バグの修正がより困難となる。
注釈
- ^ 静的コード解析ツールによって検出される問題として典型的なものに、C言語やC++において未初期化の変数に値を代入する前に起きるデリファレンスがある。未初期化変数に読み取りアクセスした場合、C/C++の構文上は適格であるものの、未定義動作となる。このようなコードは一般的に潜在的な問題を引き起こすバグとなる可能性が非常に高いため、警告を出すコンパイラも多い[3][4]が、未初期化の配列や構造体といった集成体や、クラスの未初期化メンバー変数に読み取りアクセスしても警告を出さないコンパイラもある。このような検出漏れを静的コード解析ツールで補うことができる。一方、JavaやC#といった後発の高水準言語では、未初期化のフィールドはゼロ相当の既定値で初期化され、また未初期化のローカル変数にアクセスすることは不適格(ill-formed)であり、コンパイラがエラーを表示して停止するため、そもそもバグを作り込みにくい言語仕様になっている。
- ^ C/C++の可変長引数は型消去によって実現されているため、例えばprintfやscanfの書式指定文字列の内容と対応する実引数の型や個数のミスマッチがあった場合でもコンパイラは誤りを検出できず、プログラムの実行時に未定義動作を引き起こす。このような書式指定ミスをコンパイル時に検出できるようにするために、独自の属性や注釈の機能をサポートする処理系もある[5][6]。
出典
- ^ de-の意味・使い方|英辞郎 on the WEB
- ^ “bug”. The Jargon File (2003年12月29日). 2013年3月21日閲覧。
- ^ Compiler Warning (level 1 and level 4) C4700 | Microsoft Learn
- ^ Diagnostic flags in Clang — Clang git documentation
- ^ Annotating function parameters and return values | Microsoft Learn
- ^ Attributes in Clang — Clang git documentation
品詞の分類
名詞およびサ変動詞(修繕) | 手直し 修治 デバッグ 修復 練り直し |
- デバッグのページへのリンク