デバッグ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/14 01:51 UTC 版)
関連項目
外部リンク
この節には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。 |
以下英語
- Debugging Backwards in Time - Omniscient Debugging
- Citations from CiteSeer
- Learn the essentials of debugging デバッグの方法論に関する記事
- Debugging Software Crashes in C
- Debugging Software Crashes in C++
以下日本語
- 職人的デバッグと科学的デバッグ 千葉滋、bit vol.29、no.1、pp. 24-25、共立出版、January, 1997.
- ソースコードを読むための技術
- 使いながら覚えるGDB
注釈
- ^ 静的コード解析ツールによって検出される問題として典型的なものに、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
品詞の分類
名詞およびサ変動詞(修繕) | 手直し 修治 デバッグ 修復 練り直し |
- デバッグのページへのリンク