Content deleted Content added
MOS:TENSE + copyedit |
Guy Harris (talk | contribs) Use the page's current name. |
||
(12 intermediate revisions by 7 users not shown) | |||
Line 1:
{{Short description|Full-screen debugger for DOS by Microsoft}}
{{Use dmy dates|date=January 2020|cs1-dates=y}}
{{Infobox software
| name = CodeView
| logo =
| author = David Norris
| developer = [[Microsoft]]
| released = {{Start date and age|1985}}
| latest_release_version =
| latest_release_date =
| programming language =
| operating system = [[MS-DOS]]
| platform = [[x86]]
| genre = [[Debugger]]
| license =
| website =
}}
'''CodeView''' is a standalone [[debugger]] created by David Norris at [[Microsoft]] in 1985 as part of its development toolset.<ref name="CV3x"/> It originally shipped with Microsoft C 4.0 and later. It also shipped with [[Visual Basic (classic)|Visual Basic]] for [[MS-DOS]], [[Microsoft BASIC PDS]], and a number of other Microsoft language products.<ref name="CV87"/> It was one of the first debuggers for MS-DOS to be full-screen oriented, rather than line-oriented (as Microsoft's predecessors [[DEBUG (DOS command)|DEBUG]] and [[SYMDEB]] or [[Digital Research]]'s SID).
==Overview==
When running, CodeView presents the user with several [[window (computing)|windows]] that can be tiled, moved, sized and otherwise manipulated via the keyboard or mouse, with CodeView 4.x providing a richer interface. Some of the windows include:
* Code window
* Data window
* Watch window
* Locals window
* Command window
* Assembly window
* Register window
* Output window
===
* 386 mode
* Monochrome monitor support
Creating symbolic debugging output, which allows memory locations to be viewed by their programmer-assigned name, along with a program database showing the source code line related to every computer instruction in the binary executable, is enabled by the command line switch -Zi given to the compiler, and -CO given to the linker. Variants like -Zs and -Zd provide lesser information, and smaller output files which, during the early 1990s, were important due to limited machine resources, such as memory and hard disk capacity. Many systems in those days had 8MB of memory or less.
Line 27 ⟶ 38:
CodeView handles all program models, including TINY, SMALL, COMPACT, MEDIUM, LARGE and HUGE, with TINY (DOS-based .COM files) having their symbolic debugger information stored in a separate file, with all of the other .EXE formats containing the symbolic information directly inside the executable. This often introduced a notable size increase, and it therefore became desirable for some developers to use #pragma switches within their C (and later C++) source code to prevent the majority of the application from having symbolic output, and instead limiting that output to only those portions which required it for current debugging.
CodeView version 3.x and 4.x introduced various transport layers, which removed some of the memory space limitations to this form of symbolic debugging. Typically the debugger runs in the lower 640KB memory space alongside the application being debugged, which greatly decreases the amount of memory available to the application being debugged. The transport layer allows only a stub to exist in main memory, while the bulk of the debugger code resides in EMS or XMS (memory above the
==Visual C++ support==
Line 37 ⟶ 48:
==Symdeb==
<!-- Header linked by redirects -->
Another debugging product available from Microsoft in the mid-1980s was ''
It had over 30 commands, and was described by [[PC Magazine]] as
|url=http://www.os2museum.com/wp/ms-c-4-0-documentation-added}}</ref>▼
==See also==
* [[Borland Turbo Debugger]]
* [[
* [[
* [[Microsoft Visual Studio Debugger]]
* [[Program database]] - CodeView formats and types are still present in debugging information generated by modern C++ toolchains<ref>{{cite web |title=CodeView Type Records — LLVM 13 documentation |url=https://llvm.org/docs/PDB/CodeViewTypes.html#introduction |website=llvm.org |access-date=19 December 2021}}</ref>
==References==
{{Reflist
<ref name="CV3x">{{cite magazine |magazine=WinWorld |title=CodeView 3.x |url=https://winworldpc.com/product/codeview/3x}}</ref>
<ref name="CV87">{{cite book |title=Microsoft Macro Assembler 5.1 - Microsoft CodeView and Utilities |title-link=Microsoft Macro Assembler |date=1987 |id=Document No. 4108-40010-500-R03-1287 |publisher=[[Microsoft Corporation]] |page=157}}</ref>
<ref name="SYMDEB">{{cite web |url=https://www.pcjs.org/blog/2018/02/25 |work=PCjs Machines |title=A Short History of SYMDEB |date=2018-02-25 |author-first=Jeff |author-last=Par |access-date=2019-05-19}}</ref>
<ref name="PCW_1986">{{cite magazine |magazine=[[PC World]] |date=1986-10-14 |page=296 |title=SYMDEB: A step up from Debug |url=https://books.google.com/books?id=nuXmVNll5JEC}}</ref>
<ref name="PCMag_1986">{{cite magazine |magazine=[[PC Magazine]] |title=SYMDEB |date=1986-09-30 |page=38 |volume=5 |number=17 |issn=0888-8507 |publisher=[[Ziff Davis, Inc.]]}}</ref>
▲<ref name="MSC4">{{cite web |title=MS C 4.0 Documentation Added |website=OS2museum.com |url=http://www.os2museum.com/wp/ms-c-4-0-documentation-added}}</ref>
}}
==Further reading==
* {{cite book |author-first=Charles |author-last=Petzold |author-link=Charles Petzold |date=1990 |title=Programming Windows: the Microsoft Guide to Writing Applications for Windows 3 |isbn=9781556152641 |url=https://archive.org/details/programmingwindo0000petz |url-access=registration}}
* {{cite book |
{{Microsoft development tools}}
{{DEFAULTSORT:Codeview}}
|