CodeView は、 1985 年にMicrosoftの David Norris によって開発ツールセットの一部として作成されたスタンドアロンデバッガです。 [ 1 ]元々は Microsoft C 4.0 以降に同梱されていました。また、Visual Basic for MS-DOS、Microsoft BASIC PDS、その他多くの Microsoft 言語製品にも同梱されていました。[ 2 ]これは、行指向ではなく、フルスクリーン指向の MS-DOS 用デバッガの最初の 1 つです (Microsoft の前身であるDEBUGやSYMDEB、またはDigital Researchの SID のように)。
CodeViewを実行すると、キーボードまたはマウスを使用してタイル状に並べたり、移動したり、サイズ変更したり、その他の操作を行うことができる複数のウィンドウが表示されます。CodeView 4.xでは、よりリッチなインターフェースが提供されています。ウィンドウには以下のようなものがあります。
コンパイラに指定するコマンドラインスイッチ -Zi とリンカに指定する -CO によって、プログラマが割り当てた名前でメモリ位置を表示できるシンボリックデバッグ出力と、バイナリ実行ファイル内のすべてのコンピュータ命令に関連するソースコード行を示すプログラムデータベースを作成できます。 -Zs や -Zd などのバリアントは、より少ない情報とより小さな出力ファイルを提供します。1990 年代初頭は、メモリやハードディスク容量などのマシンリソースが限られていたため、これらのバリアントは重要でした。当時の多くのシステムは、メモリが 8MB 以下でした。
CodeView は、TINY、SMALL、COMPACT、MEDIUM、LARGE、HUGE を含むすべてのプログラム モデルを扱います。TINY (DOS ベースの .COM ファイル) では、シンボリック デバッガ 情報が別のファイルに格納されますが、その他の .EXE 形式では、シンボリック 情報が実行ファイル内に直接格納されます。これにより、サイズが大幅に増加することが多く、そのため、一部の開発者は、アプリケーションの大部分でシンボリック出力が行われないように、C (および後に C++) ソース コード内で #pragma スイッチを使用し、現在のデバッグに必要な部分のみに出力を制限することが望ましいと考えるようになりました。
CodeView バージョン 3.x および 4.x では、さまざまなトランスポート レイヤーが導入され、この形式のシンボリック デバッグにおけるメモリ スペースの制限の一部が解消されました。通常、デバッガはデバッグ対象アプリケーションと並行して下位 640KB のメモリ スペースで実行されるため、デバッグ対象アプリケーションで使用できるメモリ量が大幅に減少します。トランスポート レイヤーでは、メイン メモリにはスタブのみが存在し、デバッガ コードの大部分は EMS または XMS (1 MB を超えるメモリ、または通常 DOS プログラムで使用される 0 KB ~ 640 KB アドレス空間 の外側) に配置されます。CodeView には、CVPACK コマンドライン ユーティリティも付属しており、CodeView が生成する情報のサイズを内部的に縮小しながら、データへの完全なシンボリック アクセスを維持できます。
Microsoftは、 CodeView機能を統合開発環境(IDE)と呼ばれる単一のプログラミング環境に直接統合したVisual C++ 1.0をリリースしました。ただし、CodeViewはVisual C++の16ビット版でも引き続き利用可能でした。QuickCをはじめとする「Quick」シリーズの多くの開発ツールも、この単一ソースIDEへの移行をサポートしており、これは現代のVisual Studio開発環境の先駆けとなり、数多くの他の開発ツールセットのモデルとなりました。
この統合は、多くの開発者にとってより自然なソフトウェア開発方法と見なされました。なぜなら、プログラムやコンテキストを切り替えることなく、同じ論理的な場所からコーディングとデバッグの両方を処理できるからです(内部的には、編集、コンパイル、デバッグをサポートするために多くの別々のプログラムが実行されていましたが)。その結果、ほとんどの開発ツールやプラットフォームは、同様の製品や機能を提供しています。
今日では、デバッガーはMicrosoft Visual Studio製品群に不可欠な統合機能とみなされており、そのルーツはCodeView、特にバージョン4.xで見られた機能強化にある。
1980年代半ばにマイクロソフトから提供されていた別のデバッグ製品はSYMDEBでした。[ 3 ]
30以上のコマンドを備えており、PC MagazineではDEBUGよりも優れたツールだと評された。[ 4 ] Codeviewは「フルスクリーンSYMDEB」と評された。[ 5 ] [ 6 ]