目 录 1
简介 1
1.1 CodeView调试器的新特色 1
1.2关于本手册 2
1.3符号的约定 3
第一部分CodeView调试器 7
第一章启动 7
1.1限制 7
1.2准备CodeView要用的程序 7
1.2.1 编程考虑 8
1.2.2 CodeView编译任选项 8
1.2.3 CodeView连接任选项 9
1.2.4准备C程序 9
1.2.5准备Fortran程序 10
1.2.6准备Basic程序 11
1.2.7准备Pascal程序 12
1.2.8准备汇编语言程序 13
1.3启动CodeView调试器 15
1.4 CodeView但选项的使用 17
1.4.1 使用双视屏适配器 18
1.4.2使用增强型图形适配器的43行显示方式 18
1.4.3使用黑白屏幕显示 19
1.4.4给定启动命令 19
1.4.5管理中断陷阱 20
1.4.6使用扩展型存貯器 20
1.4.7设定屏幕切换方式 20
1.4.8关闭鼠标 22
1.4.9 扩展EGA兼容性 22
1.4.10启用窗口或顺序方式 23
1.5调试大程序 23
1.6和汇编程序的旧版本一起工作 23
第二章CodeV iew的显示 25
2.1启用窗口方式 25
2.1.1.1 用键盘命令移动光标 26
2.1.1通过键盘执行窗口命令 26
2.1.1.2用键盘命令改变屏幕 27
2.1.1.3 用键盘命令控制程序执行 27
2.1.1.4 用键盘从菜单中选择 28
2.1.2用鼠标执行窗口命令 29
2.2.2.1用鼠标改变屏幕 29
2.2.2.2用鼠标控制程序执行 30
2.2.2.3用鼠标从菜单中选择 31
2.1.3.1 使用File菜单 32
2.1.3使用菜单选择项 32
2.1.3.2使用V iew菜单 33
2.1.3.3使用Search菜单 34
2.1.3.4使用Run菜单 35
2.1.3.5使用Watch菜单 36
2.1.3.6使用Options菜单 37
2.1.3.7使用Language菜单 38
2.1.3.8使用Calls菜单 38
2.2使用顺序方式 39
2.1.3.9使用Help菜单 39
2.1.4 使用Help系统 39
第三章使用会话命令 41
3.1键入命令和参数 41
3.1.1使用特殊键 41
3.1.2使用命令缓冲区 41
3.2 CodeView的命令和参数的格式 42
4.1 C表达式 43
4.1.1 标识符 43
第四章CodeViaw表达式 43
4.1.2 常数 44
4.1.3 C串 45
4.2 FORTRAN表达式 45
4.2.1FORTRAN符号 46
4.2.2 FORTRAN常数 46
4.2.3 FORTRAN串 47
4.2.4 FORTRAN内部函数 47
4.3 BASIC表达式 48
4.3.2 BASIC常数 49
4.3.1 BASIC符号 49
4 3.3 BASIC串 51
4.3.4 BASIC内部函数 51
4.4 Pascal表达式 51
4.4.1 Pascal标识符 52
4.4.2 Pascal常数 52
4.4.3 Pascal串 53
4.4.4 Pascal内部函数 53
4.5汇编表达式 54
4.6行标号 55
4.7寄存器和地址 55
4.7.1 寄存器 56
4.7.2地址 56
4.7.3地址域 57
4.8存貯器操作 57
4.8.2存取字(WO) 58
4.8.1 存取字节(BY) 58
4.8.3存取双字(DW) 59
4.9转换表达式识别器 59
第五章执行代码 61
5.1 Trace(追踪)命令 61
5.2 Program Step(程序步)命令 63
5.3 Go(走)命令 65
5.4 Execute(执行)命令 67
5.5 Restart(重启)命令 68
第六章检查数据和表达式 69
6.1 表达式显示命令 69
6.2符号检查命令 76
6.3内存显示命令 80
6.3.1 内存显示 82
6.3.2内存字节显示 82
6.3.3 内存ASCII字符显示 82
6.3.4内存整数显示 83
6.3.5内存无符号整数显示 83
6.3.7内存双字显示 84
6.3.6内存字显示 84
6.3.8内存短实数显示 85
6.3.9内存长实数显示 85
6.3.10内存10字节实数显示 85
6.4存储器比较命令 86
6.5搜索存储器查寻命令 87
6.6端口输入命令 88
6.7寄存器命令 88
6.8 8087命令 90
第七章断点管理 92
7.1 BreakpointSet(断点设置)命令 92
7.2 Breakpoint Clear(断点清除)命令 94
7.3 Breakpoint Disable(断点屏蔽)命令 95
7.4 Breakpoint Enable(断点启动)命令 96
7.5 Breakpoint List(断点列表)命令 96
第八章Watch(观察)语句的管理 98
8.1 设置表达式观察和内存观察语句 99
8.2设置观察点 101
8.3设置追踪点 103
8.4删除观察语句 106
8.5列出观察点和追踪点 107
8.6 C的实例 108
8.7 FORTRAN的实例 108
8.8 Pascal的实例 109
8.9汇编的实例 110
第九章检查代码 112
9.1 Set Mode(方式设置)命令 112
9.2 Unassemble(逆汇编)命令 113
9.3 View(查看)命令 115
9.4 Current Location(当前定位)命令 117
9.5 StackTrace(栈追踪)命令 118
第十章代码和数据的修改 121
10.1汇编命令 121
10.2键入命令 123
10.2.1键入命令 126
10.2.2键入字节命令 126
10.2.3键入ASCII字符命令 126
10.2.5键入无符号整数命令 127
10.2.4键入整数命令 127
10.2.6键入字命令 128
10.2.7键入双字命令 128
10.2.8键入短实数命令 129
10.2.9键入长实数命令 129
10.2.10键入10字节实数命令 129
10.3内存存入命令 130
10.5端口输出命令 131
10.4 内存转移命令 131
10.6寄存器(Register)命令 132
第十一章系统接制命令的使用 135
11.1 帮助命令 135
11.2退出命令 135
11.3置基数命令 136
11.4重新画屏命令 137
11.5屏幕转换命令 138
11.6查寻命令 138
11.7 Shell调用(Shell Escape)命令 140
11.8置制表符命令 141
11.9选择项命令 142
11.10重定向命令 143
11.10.1 Code View输入重定向 144
11.10.2 CodeView输出重定向 144
11.10.3 Code View输入输出重定向 145
11.10.4与重定向有关的命令 145
11.10.4.1注解命令 145
11.10.4.3暂停命令 146
11.10.4.2延迟命令 146
第二部分实用程序 151
第十二章使用LINK连接目标文件 151
12.1指定连接文件 151
12.1.1指定文件名 151
12.1.2 使用LINK命令行进行连接 152
12.1.3使用LINK提示信息进行连接 153
12.1.4使用回答交件进行连接 154
12.1.5 LINK如何查寻库文件 155
12.1.6 LINK的内存要求 156
12.2指定连接器的可选项 157
12.2.1 介绍可选项表(/HE) 157
12.2.2连接时的暂停(/PAU) 158
1 2.2.3显示连接器的运行信息(/Z) 158
12.2.4压缩可执行文件(/E) 159
12.2.5公共符号列表(/M) 159
12.2.6映射文件中包含行号(/LI) 160
12.2.7保持区分大小写(/NOI) 160
12.2.8忽略缺省库(/NOD) 160
12.2.9控制栈大小(/ST) 160
12.2.10设置最大分配空间(/CP) 161
12.2.11设置段数最大值(/SE) 161
12.2.12设置覆盖中断(/0) 162
12.2.13段的排序(/DO) 162
12.2.14控制数据的装入(/DS) 162
12.2.1 8以批方式运行(/B) 163
12.2.17为调试作准备(/CO) 163
12.2.16保持兼容性(/NOG) 163
1 2.2.15控制可执行文件的装入(/HZ) 163
12.2.19优化长调用(/F) 164
1 2.2.20屏蔽长调用的优化(/NOF) 165
12.2.21压缩相邻段(/PAC) 165
12.2.22屏蔽段的压缩(/NOP) 166
12.2.23指定Quick Langnage的用户库 166
12.3通过LINK环境变量选择可选项 166
12.4.1段的对齐 167
12.4连接器操作 167
12.4.2构等号 168
12.4.3段的顺序 168
12.4.4段的结合 168
12.4.5组 168
12.4.6修正 169
12.5覆盖的使用 169
12.5.1 覆盖的限制 170
12.5.2覆盖管理器的提示 170
13.1.1 使用LIB命令行管理库 172
第十三章使用LIB管理库 172
13.1 库的管理 172
13.1.1.1指定库文件 173
13.1.1.2 指定页尺寸 173
13.1.1.3 LIB命令域 173
13.1.1.4 建立交叉参照列表 173
13.1.1.5指定输出库 174
13.1.2使用LIB提示管理库 175
13.1.2.1 行的扩充 176
13.1.2.2 对提示的缺省回答 176
13.1.3使用回答文件管理库 176
13.1.4终止LIB命令的执行 177
13.2使用LIB执行库管理任务 177
13.2.1 建立库文件 177
13.2.4删除库文件 178
13.2.5替换库文件 178
13.2.3添加库文件 178
13.2.2修改库文件 178
13.2.6 复制库文件 179
13.2.7移动库文件(选取) 179
13.2.8结合库 179
13.2.9建立交叉参照列表 179
13.2.10完成一致性检查 179
13.2.11 设置库的页尺寸 180
14.2 建立MAKE描述文件 181
14.1 使用MAKE 181
第十四章用MAKE维护程序 181
14.3 自动程序开发 184
14.4运行MAKE 185
14.5 指定MAKE选项 185
14.6宏定义的使用 186
14.6.1 定义和使用宏 186
14.6.2嵌套宏定义 187
14.6.3使用特殊的宏定义 187
14.7定义推导规则 188
15.1使用EXEPACK,压缩可执行文件 190
第十五章使用EXEPACK,EXEMOP,SETENV及ERROUT 190
15.2使用EXEMOD修改程序标题 191
15.3使用SETENV扩充DOS环境空间 193
15.4 使用ERROUT为错误输出重新定向 194
A.1 引言 196
A.2正规表达式中的特殊字符 196
A.3特殊字符的查寻 196
A.正规表达式 196
附录 196
A.4使用点号 197
A.5使用方括号 197
A.5.1 使用方括号中的减号 197
A.5.2使用方括号中的扦入符 197
A.5.3 匹配括号中的括号 198
A.6使用星号 198
A.7匹配一行的头或尾 198
B.1 MAKE与出口码 199
B.2 DOS批处理文件与出口码 199
B. 出器码 199
B.3几个实用程序的出口码 200
B.3.1 CodeView出口码 200
B.3.2 LINK出口码 200
B.3.3 LIB出口码 200
B.3.4 MAKE出口码 200
B.3.5 EXEPACK出口码 200
B.3.6 EXEMOD出口码 200
C.错误信息 201
C.1 CodeView错误信息 201
B.3.8ERROUT出口码 201
B.3.7 SETENV出口码 201
C.2 Link错误信息 207
C.3 LIB错误信息 214
C.4 MAKE错误信息 216
C.5 EXEPACK错误信息 218
C.6 EXEMOD错误信息 219
C.7 SETENV错误信息 220
C.8 ERROUT 错误信息 221