资源说明:从 Windows 3.0 SDK 发掘的资源,英文原版 + HTML版本
Microsoft Codeview and Utilities User's Guide
Microsoft(R) CodeView(R) and Utilities User's Guide
Version 2.3
for MS(R) OS/2 and MS-DOS(R) Operating Systems
MICROSOFT CORPORATION
Information in this document is subject to change without notice and does not represent a commitment on the part of Microsoft Corporation. The software described in this document is furnished under a license agreement or nondisclosure agreement. The software may be used or copied only in accordance with the terms of the agreement. It is against the law to copy the software on any medium except as specifically allowed in the license or nondisclosure agreement. No part of this manual may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any purpose without the express written permission of Microsoft.
(c)Copyright Microsoft Corporation, 1987, 1989. All rights reserved. Simultaneously published in the U.S. and Canada.
Printed and bound in the United States of America.
Microsoft, MS, MS-DOS, XENIX, and CodeView are registered trademarks of Microsoft Corporation.
AT&T is a registered trademark of American Telephone and Telegraph Company.
Eagle is a registered trademark of Eagle Computer, Inc.
IBM is a registered trademark of International Business Machines Corporation.
Intel is a registered trademark of Intel Corporation.
Lotus is a registered trademark of Lotus Development Corporation.
Tandy is a registered trademark of Tandy Corporation.
Document No. LN0801A-500-R00-0889 Part No. 07824 10 9 8 7 6 5 4 3 2 1
%@CR:MCVTOC00@%
Table of Contents
Introduction
New Features of the CodeView(R) Debugger
About this Manual
Document Conventions
Part 1 The CodeView Debugger
Chapter 1 Getting Started
1.1 Restrictions
1.2 The CodeView Environment
1.3 Preparing Programs for the CodeView Debugger
1.3.1 Programming Considerations
1.3.2 CodeView Compile Options
1.3.3 CodeView Link Options
1.3.4 Preparing C Programs
1.3.5 Preparing FORTRAN Programs
1.3.6 Preparing BASIC Programs
1.3.7 Preparing Pascal Programs
1.3.8 Preparing Assembly Programs
1.4 Starting the CodeView Debugger
1.5 Using CodeView Options
1.5.1 Using Two Video Adapters
1.5.2 Using the Enhanced Graphics Adapter's 43-Line Mode
1.5.3 Using 50-Line Mode
1.5.4 Starting with a Black-and-White Display
1.5.5 Specifying Start-Up Commands
1.5.6 Handling Interrupt Trapping (DOS Only)
1.5.7 Using Expanded Memory (DOS Only)
1.5.8 Setting the Screen-Exchange Mode (DOS Only)
1.5.9 Loading Information from Dynamic-Link Libraries (OS/2 Only)
1.5.10 Turning Off the Mouse
1.5.11 Debugging Multiple Processes (OS/2 only)
1.5.12 Extending EGA Compatibility
1.5.13 Using Debug Registers (386 Only)
1.5.14 Enabling Window or Sequential Mode
1.6 Debugging Large Programs
1.7 Working with Older Versions of the Assembler
Chapter 2 The CodeView Display
2.1 Using Window Mode
2.1.1 Executing Window Commands with the Keyboard
2.1.2 Executing Window Commands with the Mouse
2.1.3 Using Menu Selections
2.1.4 Using On-Line Help
2.2 Using Sequential Mode
Chapter 3 Using Dialog Commands
3.1 Entering Commands and Arguments
3.1.1 Using Special Keys
3.1.2 Using the Command Buffer
3.2 Format for CodeView Commands and Arguments
3.3 Selecting Text for Use with Commands
Chapter 4 CodeView Expressions
4.1 C Expressions
4.1.1 C Symbols
4.1.2 C Constants
4.1.3 C Strings
4.2 FORTRAN Expressions
4.2.1 FORTRAN Symbols
4.2.2 FORTRAN Constants
4.2.3 FORTRAN Strings
4.2.4 FORTRAN Intrinsic Functions
4.3 BASIC Expressions
4.3.1 BASIC Symbols
4.3.2 BASIC Constants
4.3.3 BASIC Strings
4.3.4 BASIC Intrinsic Functions
4.4 Assembly Expressions
4.5 Line Numbers
4.6 Registers and Addresses
4.6.1 Registers
4.6.2 Addresses
4.6.3 Address Ranges
4.7 Memory Operators
4.7.1 Accessing Bytes (BY)
4.7.2 Accessing Words (WO)
4.7.3 Accessing Double Words (DW)
4.8 Switching Expression Evaluators
Chapter 5 Executing Code
5.1 Window and Sequential Mode Commands
5.2 Trace Command
5.3 Program Step Command
5.4 Go Command
5.5 Execute Command
5.6 Restart Command
Chapter 6 Examining Data and Expressions
6.1 Display Expression Command
6.2 The Graphic Display Command
6.2.1 Invoking the Graphic Display Command
6.2.2 Changing the Display
6.3 Examine Symbols Command
6.4 Dump Commands
6.4.1 Dump
6.4.2 Dump Bytes
6.4.3 Dump ASCII
6.4.4 Dump Integers
6.4.5 Dump Unsigned Integers
6.4.6 Dump Words
6.4.7 Dump Double Words
6.4.8 Dump Short Reals
6.4.9 Dump Long Reals
6.4.10 Dump 10-Byte Reals
6.5 Compare Memory Command
6.6 Search Memory Command
6.7 Port Input Command
6.8 Register Command
6.9 8087 Command
Chapter 7 Managing Breakpoints
7.1 Breakpoint Set Command
7.2 Breakpoint Clear Command
7.3 Breakpoint Disable Command
7.4 Breakpoint Enable Command
7.5 Breakpoint List Command
Chapter 8 Managing Watch Statements
8.1 Watch Statement Commands
8.2 Setting Watch-Expression and Watch-Memory Statements
8.3 Setting Watchpoints
8.4 Setting Tracepoints
8.5 Deleting Watch Statements
8.6 Listing Watchpoints and Tracepoints
8.7 C Examples
8.8 FORTRAN Examples
8.9 Assembly Examples
Chapter 9 Examining Code
9.1 Set Mode Command
9.2 Unassemble Command
9.3 View Command
9.4 Current Location Command
9.5 Stack Trace Command
Chapter 10 Modifying Code or Data
10.1 Assemble Command
10.2 Enter Commands
10.2.1 Enter Command
10.2.2 Enter Bytes Command
10.2.3 Enter ASCII Command
10.2.4 Enter Integers Command
10.2.5 Enter Unsigned Integers Command
10.2.6 Enter Words Command
10.2.7 Enter Double Words Command
10.2.8 Enter Short Reals Command
10.2.9 Enter Long Reals Command
10.2.10 Enter 10-Byte Reals Command
10.3 Fill Memory Command
10.4 Move Memory Command
10.5 Port Output Command
10.6 Register Command
Chapter 11 CodeView Control Commands
11.1 Help Command
11.2 Quit Command
11.3 Radix Command
11.4 Redraw Comm and
11.5 Screen Exchange Command
11.6 Search Command
11.7 Shell Escape Command
11.8 Tab Set Command
11.9 Option Command
11.10 Redirection Commands
11.10.1 Redirecting CodeView Input
11.10.2 Redirecting CodeView Output
11.10.3 Redirecting CodeView Input and Output
11.10.4 Commands Used with Redirection
Chapter 12 Debugging in Protected Mode
12.1 Using CodeView in Different Modes
12.2 Debugging Dynamic-Link Libraries
12.3 Debugging Multiple Processes
12.3.1 Viewing Status
12.3.2 Switching to a Child Process
12.4 Debugging Multiple Threads
12.5 The Thread Command
12.5.1 Legal Values for Specifier
12.5.2 Legal Values for yCommand
12.5.3 Entries to the Thread Command
12.5.4 Effect of Threads on CodeView Commands
Part 2 Utilities
Chapter 13 Linking Object Files with LINK
13.1 Determining Linker Output
13.2 Specifying Files for Linking
13.2.1 Specifying File Names
13.2.2 Linking with the LINK Command Line
13.2.3 Linking with the LINK Prompts
13.2.4 Linking with a Response File
13.2.5 How LINK Searches for Libraries
13.2.6 LINK Memory Requirements
13.3 Specifying Linker Options
13.3.1 Aligning Segment Data (/A)
13.3.2 Running in Batch Mode (/BA)
13.3.3 Producing a .COM File (/BI)
13.3.4 Preparing for Debugging (/CO)
13.3.5 Setting the Maximum Allocation Space (/CP)
13.3.6 Ordering Segments (/DO)
13.3.7 Controlling Data Loading (/DS)
13.3.8 Packing Executable Files (/E)
13.3.9 Optimizing Far Calls (/F)
13.3.10 Viewing the Options List (/HE)
13.3.11 Controlling Executable-File Loading (/HI)
13.3.12 Preparing for Incremental Linking (/INC)
13.3.13 Displaying Linker Process Information (/INF)
13.3.14 Including Line Numbers in the Map File (/LI)
13.3.15 Listing Public Symbols (/M)
13.3.16 Ignoring Default Libraries (/NOD)
13.3.17 Ignoring Extended Dictionary (/NOE)
13.3.18 Disabling Far-Call Optimization (/NOF)
13.3.19 Preserving Compatibility (/NOG)
13.3.20 Preserving Case Sensitivity (/NOI)
13.3.21 Ordering Segments without Inserting NULL Bytes (/NON)
13.3.22 Disabling Segment Packing (/NOP)
13.3.23 Setting the Overlay Interrupt (/O)
13.3.24 Packing Contiguous Data Segments (/PACKC)
13.3.25 Packing Contiguous Data Segments (/PACKD)
13.3.26 Padding Code Segments (/PADC)
13.3.27 Padding Data Segments (/PADD)
13.3.28 Pausing during Linking (/PAU)
13.3.29 Specifying User Libraries for Quick Languages (/Q)
13.3.30 Setting Maximum Number of Segments (/SE)
13.3.31 Controlling Stack Size (/ST)
13.3.32 Issuing Fixup Warnings (/W)
13.4 Selecting Options with the LINK Environment Variable
13.5 Linker Operation
13.5.1 Alignment of Segments
13.5.2 Frame Number
13.5.3 Order of Segments
13.5.4 Combined Segments
13.5.5 Groups
13.5.6 Fixups
13.6 Using Overlays
13.6.1 Restrictions on Overlays
13.6.2 Overlay-Manager Prompts
Chapter 14 Incremental Linking with ILINK
14.1 Definitions
14.2 Guidelines for Using ILINK
14.3 The Development Process
14.4 Running ILINK
14.4.1 Files Required for Using ILINK
14.4.2 The ILINK Command Line
14.5 How ILINK Works
14.6 Incremental Violations
14.6.1 Changing Libraries
14.6.2 Exceeding Code/Data Padding
14.6.3 Moving/Deleting Data Symbols
14.6.4 Deleting Code Symbols
14.6.5 Changing Segment Definitions
14.6.6 Adding CodeView Debugger Information
Chapter 15 Managing Libraries with LIB
15.1 Managing Libraries
15.1.1 Managing Libraries with the LIB Command Line
15.1.2 Managing Libraries with the LIB Prompts
15.1.3 Managing Libraries with a Response File
15.1.4 Terminating the LIB Session
15.2 Performing Library-Management Tasks with LIB
15.2.1 Creating a Library File
15.2.2 Changing a Library File
15.2.3 Adding Library Modules
15.2.4 Deleting Library Modules
15.2.5 Replacing Library Modules
15.2.6 Copying Library Modules
15.2.7 Moving Library Modules (Extracting)
15.2.8 Combining Libraries
15.2.9 Creating a Cross-Reference-Listing File
15.2.10 Performing Consistency Checks
15.2.11 Setting the Library-Page Size
Chapter 16 NMAKE
16.1 Invoking NMAKE
16.1.1 Using a Command Line to Invoke NMAKE
16.1.2 Using a Command File to Invoke NMAKE
16.2 NMAKE Options
16.3 Description Files
16.3.1 Description Blocks
16.3.2 Macros
16.3.3 Inference Rules
16.3.4 Directives
16.3.5 Pseudotargets
16.4 Response-File Generation
16.5 Differences between NMAKE and MAKE
Chapter 17 Using Other Utilities
17.1 Modifying Program Headers with the EXEMOD Utility
17.2 Enlarging the DOS Environment with the SETENV Utility
17.3 Saving Memory with the CVPACK Utility
Chapter 18 Linking for Windows and OS/2 Systems
18.1 Dynamic-Link Libraries
18.2 Linking without an Import Library
18.3 Linking with an Import Library
18.4 Why Use Import Libraries?
18.5 Advantages of Dynamic Linking
18.6 Creating Import Libraries with IMPLIB
Chapter 19 Using Module-Definition Files
19.1 Module Statements
19.2 The NAME Statement
19.3 The LIBRARY Statement
19.4 The DESCRIPTION Statement
19.5 The CODE Statement
19.6 The DATA Statement
19.7 The SEGMENTS Statement
19.8 The STACKSIZE Statement
19.9 The EXPORTS Statement
19.10 The IMPORTS Statement
19.11 The STUB Statement
19.12 The HEAPSIZE Statement
19.13 The PROTMODE Statement
19.14 The OLD Statement
19.15 The REALMODE Statement
19.16 The EXETYPE Statement
Chapter 20 Creating Dual-Mode Programs with BIND
20.1 Binding Library Routines
20.2 Binding Functions as Protected Mode Only
20.3 The BIND Command Line
20.4 BIND Operation
20.5 Executable-File Layout
20.6 How to Build a Dual-Mode Application
Chapter 21 Using EXEHDR
21.1 The EXEHDR Command Line
21.2 EXEHDR Output
21.3 Output in Verbose Mode
Appendix A Regular Expressions
A.1 Special Characters in Regular Expressions
A.2 Searching for Special Characters
A.3 Using the Period
A.4 Using Brackets
A.4.1 Using the Dash within Brackets
A.4.2 Using the Caret within Brackets
A.4.3 Matching Brackets within Brackets
A.5 Using the Asterisk
A.6 Matching the Start or End of a Line
Appendix B Using Exit Codes
B.1 Exit Codes with NMAKE
B.2 Exit Codes with DOS Batch Files
B.3 Exit Codes for Programs
B.3.1 LINK Exit Codes
B.3.2 LIB Exit Codes
B.3.3 NMAKE Exit Codes
B.3.4 EXEMOD and SETENV Exit Codes
B.3.5 CVPACK Exit Codes
Appendix C Error Messages
C.1 CodeView Error Messages
C.2 LINK Error Messages
C.2.1 LINK Fatal Error Messages
C.2.2 LINK Nonfatal Error Messages
C.2.3 LINK Warning Messages
C.3 ILINK Error Messages
C.3.1 ILINK Fatal Errors
C.3.2 Incremental Violations
C.3.3 ILINK Warning Messages
C.4 LIB Error Messages
C.4.1 Fatal LIB Error Messages
C.4.2 Nonfatal LIB Error Messages
C.4.3 Warning LIB Error Messages
C.5 NMAKE Error Messages
C.5.1 Fatal NMAKE Error Messages
C.5.2 Warning NMAKE Error Messages
C.6 EXEMOD Error Messages
C.6.1 Fatal EXEMOD Error Messages
C.6.2 Warning EXEMOD Error Messages
C.7 SETENV Error Messages
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。