Content deleted Content added
Matthiaspaul (talk | contribs) →See also: +links |
Matthiaspaul (talk | contribs) CE, improved refs |
||
Line 1:
{{Short description|Full-screen debugger for DOS by Microsoft}}
[[File:Dosbox 001.png|thumb|right|MS DOS's ''DEBUG'' command is line-oriented, whereas CodeView is full-screen oriented]]▼
{{Use dmy dates|date=January 2020|cs1-dates=y}}
▲[[File:Dosbox 001.png|thumb|right|
'''CodeView''' is a standalone [[debugger]] created by [[David Norris (Microsoft)|
==Overview==
Line 14 ⟶ 11:
* Watch window - a contextual display of variables by name.
* Locals window - a contextual display of variables local to the current function.
* Command window - user commands (using the same or similar syntax as DEBUG
* Assembly window - the assembly (machine code) was displayed, allowing for single-stepping through functions.
* Register window - to visualize the 80x86 register contents, including segments, flags and the FPU (CodeView existed before MMX and other SIMD extensions).
* Output window - a window showing startup operations and debugging information relating to breakpoints,<ref name="CV87"/>
===
* 386 mode - 8086, 80286 and 80386 and later processors. 386 enhanced mode is activated by a menu option, allowing for 32-bit registers and disassembly.
* Monochrome monitor support - allows debugging on either a single color (CGA, EGA or VGA) monitor with page/memory swapping between the user application and the CodeView screen, or using a separate monochrome monitor. The monochrome monitor exists in memory address space 0xb0000, while the color monitor exists at 0xb8000 for text and 0xa0000 for graphics. Use of the monochrome monitor with its separate memory address space allows debugging graphics applications without affecting the display, as well as all text modes. Monochrome monitors are limited to 25 lines, whereas color monitors allow 25, 43 or 50 line mode, allowing for more information on the screen at the same time.
Line 27 ⟶ 24:
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 ⟶ 34:
==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]]
* [[SoftICE]]
* [[Intel Memory Model]]
Line 61 ⟶ 47:
==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 |url=https://archive.org/details/programmingwindo0000petz |url-access=registration
* {{cite book |
{{DEFAULTSORT:Codeview}}
|