简介 1
1.1 CodeView调试器的新特色 1
1.2 关于本手册 2
1.3 符号的约定 3
第一部分 CodeVieW调试器 5
第一章 启动 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
第二章 CodeView的显示 25
2.1 启用窗口方式 25
2.1.1 通过键盘执行窗口命令 26
2.1.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 使用菜单选择项 32
2.1.3.1 使用File菜单 32
2.1.3.2 使用View菜单 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.1.3.9 使用Help菜单 39
2.1.4 使用Help系统 39
2.2 使用顺序方式 39
第三章 使用会话命令 41
3.1 键入命令和参数 41
3.1.1 使用特殊键 41
3.1.2 使用命令缓冲区 41
3.2 CodeView的命令和参数的格式 42
第四章 CodeView表达式 43
4.1 C表达式 43
4.1.1 标识符 43
4.1.2 常数 44
4.1.3 C串 45
4.2 FORTRAN表达式 45
4.2.1 FORTRAN符号 46
4.2.2 FORTRAN常数 46
4.2.3 FORTRAN串 47
4.2.4 FORTRAN内部函数 47
4.3 BASIC表达式 48
4.3.1 BASIC符号 49
4.3.2 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.1 存取字节(BY) 58
4.8.2 存取字(WO) 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.6 内存字显示 84
6.3.7 内存双字显示 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 Breakpoint Set(断点设置)命令 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 Stack Trace(栈追踪)命令 118
第十章 代码和数据的修改 121
10.1 汇编命令 121
10.2 键入命令 123
10.2.1 键入命令 126
10.2.2 键入字节命令 126
10.2.3 键入ASCII字符命令 126
10.2.4 键入整数命令 127
10.2.5 键入无符号整数命令 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.4 内存转移命令 131
10.5 端口输出命令 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 Code View输出重定向 144
11.10.3 Code View输入输出重定向 145
11.10.4 与重定向有关的命令 145
11.10.4.1 注解命令 145
11.10.4.2 延迟命令 146
11.10.4.3 暂停命令 146
第二部分 实用程序 149
第十二章 使用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
12.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 设置覆盖中断(/O) 162
12.2.13 段的排序(/DO) 162
12.2.14 控制数据的装入(/DS) 162
12.2.15 控制可执行文件的装入(/HZ) 163
12.2.16 保持兼容性(/NOG) 163
12.2.17 为调试作准备(/CO) 163
12.2.18 以批方式运行(/B) 163
12.2.19 优化长调用(/F) 164
12.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 连接器操作 167
12.4.1 段的对齐 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
第十三章 使用LIB管理库 172
13.1 库的管理 172
13.1.1 使用LIB命令行管理库 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.2 修改库文件 178
13.2.3 添加库文件 178
13.2.4 删除库文件 178
13.2.5 替换库文件 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
第十四章 用MAKE维护程序 181
14.1 使用MAKE 181
14.2 建立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
第十五章 使用EXEPACK,EXEMOP,SETENV及ERROUT 190
15.1 使用EXEPACK,压缩可执行文件 190
15.2 使用EXEMOD修改程序标题 191
15.3 使用SETENV扩充DOS环境空间 193
15.4 使用ERROUT为错误输出重新定向 194
附录 196
A.正规表达式 196
A.1 引言 196
A.2 正规表达式中的特殊字符 196
A.3 特殊字符的查寻 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 出器码 199
B.1 MAKE与出口码 199
B.2 DOS批处理文件与出口码 199
B.3 几个实用程序的出口码 200
B.3.1 Code View出口码 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
B.3.7 SETENV出口码 201
B.3.8 ERROUT出口码 201
C.错误信息 201
C.1 Code View错误信息 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