《Turbo Debugger 3.0调试手册》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:李振格编译
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:1992
  • ISBN:7810123408
  • 页数:287 页
图书介绍:

前 言 1

第0章简 介 1

0.1 3.0版的新性能和所作的修改 1

目 录 1

0.2硬件及软件需求 2

0.3术语解释 2

0.4手册内容 3

第一章起 步 5

1.1产品磁盘和联机文本文件 5

1.1.1 README文件 5

1.1.2 HELPME!.TD文件 5

1.1.3 MANUAL.TD文件 5

1.3.1安装TDW的TDDEBUG.386 6

1.2 Turbo Debugger实用程序 6

1.3安装Turbo Debugger 6

1.4 DOS硬件调试 7

1.4.1 DOS硬件调试 7

1.4.2 Windows应用程序和硬件调试 7

1.5阅读建议 7

1.5.1正在学习Turbo语言的程序员 7

1.5.2已经用过Turbo语言的程序员 8

第二章调试与Turbo Debugger 9

2.1有错误吗 9

2.2错误在哪儿 9

2.3是什么错误 9

2.4改正错误 9

2.5Turbo Debugger能帮用户做什么 10

2.5.2 Turbo Debugger是怎样工作的 11

2.6Turbo Debugger的优势 11

2.5.1 Turbo Debugger不能做什么 11

2.6.1菜单与对话框 12

2.6.2了解现在在哪里 13

2.6.3历史经验 15

2.6.4递增匹配 16

2.6.5生成宏 16

2.6.6窗口介绍 16

2.6.7复制和传输 24

2.6.8获取帮助 27

第三章一个快速示例 31

3.1演示程序 31

3.2.1菜单(menus) 32

3.2使用Turbo Debugger 32

3.2.2状态行(status line) 33

3.2.3窗口(windows) 33

3.3使用C演示程序 34

3.3.1设置断点(Setting breakpoints) 35

3.3.2使用监视 36

3.3.3检查简单的C数据对象 37

3.3.4检查复杂的C数据的对象 37

3.3.5改变C数据值 38

3.4使用Pascal示例程序 39

3.4.1设置断点(Setting breakpoints) 40

3.4.2使用监视(Using watches) 41

3.4.4检查复杂的Pascal数据对象 42

3.4.3检查简单的Pascal数据对象 42

3.4.5改变Pascal数据值 43

第四章启动Turbo Debugger 45

4.1准备待调试的程序 45

4.1.1准备Borland C++程序 45

4.1.2准备Turbo Pascal程序 45

4.1.3准备Turbo汇编程序 45

4.2运行TurboDebugger 46

4.3命令行选择项 46

4.3.4进程ID转换(-i) 47

4.3.7设置堆大小(-m) 47

4.3.5击键记录(-k) 47

4.3.6汇编模式启动(-1) 47

4.3.3获取帮助(-h与-?) 47

4.3.2显示更新方式(-d) 47

4.3.1装载配置文件(-c) 47

4.3.8鼠标器支持(-p) 48

4.3.9远程调试(-r) 48

4.3.10源代码处理(-s) 48

4.3.11视频硬件(-v) 48

4.3.12远程窗口调试(-w) 49

4.3.13覆盖池大小(-y) 49

4.4配置文件 49

4.5选项菜单(Option Menu) 50

4.5.1语言命令 50

4.5.2宏菜单 50

4.5.3显示选项命令(Display Options) 51

4.5.5保存选择项命令(Save Options) 52

4.5.4 Path for Source命令 52

4.6在Turbo Debugger中运行DOS 53

4.7返回DOS 53

4.5.6恢复选择项命令 53

第五章控制程序执行 54

5.1检查当前程序状态 54

5.1.1变量窗口 54

5.1.2堆栈窗口(Stack Window) 57

5.1.3源(Origin)局部菜单命令 59

5.1.4获取信息(Get Info)命令 59

5.2.2执行到光标位置(Goto Cursor,F4) 63

5.2.3跟踪进入(Trace Into,F7) 63

5.2.1运行(Run,F9) 63

5.2运行菜单 63

5.2.4执行一步(Step Over,F8) 64

5.2.5执行到某处(Execute to...,Alt-F9) 65

5.2.6执行到返回(Until Return,Alt-F8) 65

5.2.7连续慢速执行(Animate...) 65

5.2.8反向跟踪(Back Trace,Alt-F4) 65

5.2.9指令跟踪(Instruction Trace,Alt-F7) 65

5.2.10参数(Argument...) 65

5.2.11程序复位(Program Reset,Ctrl-F2) 65

5.3执行历史窗口 66

5.3.1指令区 67

5.3.2击键记录区 67

5.6.1重新加载用户程序 69

5.6重新开始调试 69

5.4中断程序执行 69

5.4.1 Ctrl-Break 69

5.5程序终止 69

5.6.2击键宏记录和重用 70

5.7打开新的待调试程序 70

5.8改变程序参数 71

第六章检查和修改数据 72

6.1数据菜单(Data Menu) 72

6.1.1检查(Inspect...) 73

6.1.2求值/修改(Evaluate/Modify...) 73

6.2指向源文件的数据目标 75

6.3.1监视窗口的局部菜单 75

6.3监视窗口(Watch Window) 75

6.1.4函数返回值 75

6.1.3增加监视项(AddWatch...) 75

6.4检查窗口 77

6.4.1 C数据检查窗口 77

6.4.2 Pascal数据检查窗口 80

6.4.3汇编语言数据检查窗口 84

6.5检查窗口的局部菜单 87

6.5.1范围(Raage...) 87

6.5.2改变(Change...) 87

6.5.3检查(Inspect...) 88

6.5.4继承(Descend...) 88

6.5.5新表达式(New Expression...) 88

6.5.6强制类型转换(Type Cast...) 88

第七章断点 89

7.1断点菜单(The Breakpoints menu) 90

7.1.1设置或清除断点(Toggle) 90

7.1.2在…(At...) 90

7.1.3全局存贮变化(Changed memory global) 90

7.1.4全局表达式为真(Expression True Global) 90

7.1.5硬件断点(Hardware Breakpoint) 90

7.1.6全清(DeleteAll) 91

7.2断点窗口 91

7.2.1断点窗口的局部菜单 91

7.2.2断点选项(Breakpoint Options)对话框 94

7.2.3条件和行为对话框(Conditions and Actions) 96

7.3.1简单断点 98

7.3设置断点 98

7.3.2全局断点 99

7.3.3改变内存的断点 99

7.3.4条件表达式 99

7.3.5硬件断点 100

7.3.6记载变量值 100

7.3.7断点和模板 100

7.4记载窗口(Log Window) 101

7.4.1记载窗口局部菜单 102

第八章审阅和修改文件 103

8.1审阅源程序文件 103

8.1.1模块窗口 103

8.1.2模块窗口的局部菜单 104

8.2.1文件窗口 105

8.2审阅其它磁盘文件 105

8.2.2文件窗口的局部菜单 106

第九章表达式 108

9.1为计算表达式选择语言 108

9.2代码地址、数据地址和行号 109

9.3存取当前作用域以外的符号 109

9.3.1作用域重设句法 109

9.3.2表达式的隐含范围 112

9.4字节列表(Byte lists) 113

9.5 C表达式 113

9.5.1 C符号 113

9.5.2寄存器伪变量 113

9.5.3 C常量和格式 114

9.5.5 C运算符优先级 115

9.5.4转义序列 115

9.5.6在程序中执行C函数 116

9.5.7带副作用的C表达式 116

9.5.8 C关键字和类型转换 117

9.6 Pascal表达式 117

9.6.1 Pascal符号 117

9.6.2 Pascal常量和格式 117

9.6.3 Pascal字符串 118

9.6.4 Pascal运算符和优先级 118

9.6.5调用Pascal函数和过程 118

9.7汇编表达式 118

9.7.1汇编符号 118

9.8格式控制 119

9.7.2汇编常量 119

9.7.3汇编操作码 119

第十章调试C++和面向对象的PASCAL程序 121

10.1 层次窗口(The Hierarchy Window) 121

10.1.1对象类型列表(ObjectType List)区 121

10.1.2层次树区 122

10.2对象类型/类检查窗口 123

10.2.1对象类型/类检查窗口的局部菜单 124

10.3对象设例检查窗口 125

10.3.1对象/类设例检查窗口的局部菜单 126

10.3.2中区和底区 128

11.1当源程序级调试不够时 129

11.2 CPU窗口 129

第十一章汇编级调试 129

11.3代码区(Code pane) 130

11.3.1反汇编 131

11.3.2代码区局部菜单 131

11.4 寄存器区和标志位区 134

11.4.1寄存器区的局部菜单 134

11.4.2标志区局部菜单 136

11.5选择符区(Selector pane) 136

11.5.1选择符区局部菜单 136

11.6数据区 137

11.6.1数据区的局部菜单 137

11.7堆栈区 141

11.7.1堆栈区的局部菜单 141

11.8.1操作数地址长度重置 142

11.8汇编 142

11.8.2操作数数据长度重置 143

11.8.3串指令 143

11.9转储窗口 144

11.10寄存器窗口 144

第十二章80x87协处理器芯片和仿真器 145

12.1 80x87芯片和仿真器 145

12.2 数学处理器窗口(Numeric Processor) 145

2.2.1寄存器区 146

12.2.2控制区 147

12.2.3状态区 147

第十三章命令一览表 150

13.1热键(Hot Keys) 150

13.2.2文件菜单(File menu) 152

13.2.3浏览菜单(View menu) 152

13.2 主菜单的命令 152

13.2.1?(系统)菜单(?System menu) 152

13.2.4运行菜单(Run menu) 153

13.2.6断点菜单(Breakpoints menu) 153

13.2.6数据菜单(Data menu) 153

13.2.7选项菜单(Options menu) 153

13.2.8窗口菜单(Window menu) 153

13.2.9帮助菜单(Help menu) 154

13.3局部菜单命令 154

13.3.1断点窗口(Breakpoints Window) 154

13.3.2 CPU窗口的菜单(CPUWindow menus) 154

13.3.4文件窗口(File Window) 156

13.3.3转贮窗口(Dump Window) 156

13.3.5记载窗口菜单(Log Window Menu) 157

13.3.6模块窗口(Module Window) 157

13.3.7数学处理器窗口(Numeric Processor Window) 158

13.3.8层次窗口(Hierarchy Window) 158

13.3.9寄存器窗口菜单(Register Window Menu) 158

13.3.10堆栈窗口(Stack Window) 159

13.3.11变量窗口(Variables Window) 159

13.3.12监视窗口(Watches Window) 159

13.3.13检查窗口(Inspector Window) 159

13.3.14对象类型/类检查窗口(Object Type/Class Inspector Window) 160

13.3.15对象/类设例检查窗口(Object/Class Instance Inspector Window) 160

13.4文本区 160

13.5列表区 161

13.6输入框和历史列表框中的命令 162

13.7窗口移动命令 162

13.8通配符搜索模板 163

13.9完整的菜单树 163

第十四章调试技巧 165

14.1当出现问题时 165

14.2调试风格 165

14.2.1运行整个程序 165

14.2.2增量测量 166

14.3错误类型 166

14.3.1一般性错误 166

14.3.2 C特有的错误 167

14.3.3 Pascal特有的错误 170

14.3.4汇编特有的错误 175

14.4精确测试 178

14.4.1测试边界条件 178

14.4.2无效的数据输入 178

14.4.3空数据输入 178

14.5调试——程序设计的一部分 178

14.6样例调试过程 178

14.7 C调试过程 179

14.7.1寻找错误 179

14.7.2确定解决方案 179

14.7.3启动Turbo Debugger 179

14.7.7求值/修改对话框 180

14.7.6监视窗口 180

14.7.5断点 180

14.7.4检查 180

14.7.8 Eureka! 181

14.8 Pascal调试过程 181

14.8.1寻找错误 181

14.8.2确定解决方案 182

14.8.3启动Turbo Debugger 183

14.8.4巡查程序 183

14.8.5求值/修改对话框 183

14.8.6检查 183

14.8.7监视(Watchs) 184

14.8.8最后一个错误 185

15.3开始虚拟调试 186

15.2安装虚拟调试设备驱动程序 186

15.1虚拟调试所需设备 186

第十五章80386处理器上的虚拟调试 186

15.4一般调试和虚拟调试的区别 188

15.5通信 188

15.6 TD386错误信息 189

15.7TDH386.SYS错误信息 190

第十六章用TD286在保护模式下调试 191

16.1保护模式调试器的硬件要求 191

16.2安装保护模式调试器 191

16.3启动保护模式调试器 191

16.4保护模式的调试器与Turbo Debugger的不同点 191

16.5在不同的机器上运行TD286 192

17.2安装TDW 193

17.1运行TDW的要求 193

第十七章面向Windows的Turbo Debugger(TDW) 193

17.3配置TDW 194

17.3.1使用TDW选择项 194

17.3.2用TDINST设置TDW 194

17.4使用TDW 195

17.4.1记载窗口消息 196

17.4.2获得内存和模块列表 203

17.4.3调试动态连接库(DLL) 205

17.4.4将内存句柄转变为地址 209

17.4.5调试建议 209

17.5 TDW错误信息 210

18.1样例程序 211

18.2编译和连接演示程序 211

第十八章调试一个标准的Windows应用程序 211

18.3调试BCWDEMOA 212

18.3.1决策 212

18.3.2中止BCDEMOA 212

18.3.3记录消息 212

18.3.5发现错误 213

附录D设置Turbo Debugger参数 213

18.3.4分析消息记录 213

18.3.6终止BCWDEMOA 216

18.4调试BCWDEMOB 217

18.4.1 切换程序 217

18.4.2测试程序 217

18.4.3如何处理 217

18.4.5发现错误的卓有成效的方法 218

18.4.4 比较全局内存列表 218

第十九章调试ObjectWindows应用程序 221

19.1关于程序 221

19.1.1 Color Scribble窗口类型定义 222

19.1.2创建应用程序 223

19.2调试程序 223

19.2.1找出第一个错误 223

19.2.2找出笔颜色方面的错误 225

19.2.3找出离开窗口时的错误 227

19.2.4找出清除屏幕错误 229

第二十章调试TSRs和设备驱动程序 231

20.1什么是TSR 231

20.1.1调试TSR 231

20.2什么是设备驱动程序 233

20.2.1调试设备驱动程序 234

20.3结束调试过程 235

附录A命令行选择项 236

附录B技术资料 237

B.1变化了的加载地址和内存自由空间 237

B.2系统崩溃 237

B.3跟踪DOS和进程ID切换 237

B.1使用8087/80287数学协处理器和仿真器 238

B.5 Turbo Debugger使用的中断 238

B.6用INT 3和INT1调试 238

B.7显示保存和模式切换 238

B.10中断向量保存的恢复 239

B.9 EMS支持 239

B.8存储分配 239

附录C嵌入汇编关键字 240

D.1运行TDINST 243

D.1.1 TDINST命令行选项 243

D.2设置屏幕颜色 244

D.2.1设置屏幕颜色(Customizing screen colors) 244

D.2.2缺省颜色(The default Colors) 246

D.3设置TurboDebugger的显示参数 248

D.3.1显示切换(Display Swapping) 248

D.3.8允许43/50行显示(Petmit 43/50 Lines) 249

D.3.7快速屏幕更新(Fast Screen Update) 249

D.3.5制表长度(Tab Size) 249

D.3.6最多的监视项(Maximum Tiled Watch) 249

D.3.4屏幕行数(Screen Lines) 249

D.3.3初始显示(Beginning Display) 249

D.3.2整数格式(Integer Format) 249

D.3.9完整图形保存(Full Graphics Saving) 250

D.3.10用户屏幕更新(User ScreenUpdating) 250

D.3.11记载表长度 250

D.4 Turbo Debugger的选项(Turbo DebuggerOptions) 250

D.4.1目录(Directories...) 250

D.4.2输入与提示(Input and Prompting...) 250

D.4.3源(语言)调试(Source Debugging...) 252

E.3.2 配置WREMOTE 253

D.4.4杂类选项(Miscellaneous Options...) 253

D.5设置显示方式 255

D.6命令行选择项及其对应的安装设置 256

D.7完成设置后 257

D.7.1保存修改 257

D.7.2 退出TDINST 258

附录E远程调试 259

E.1硬件和软件要求 259

E.2调试远程DOS应用程序 260

E.2.1建立远程系统 260

E.2.2 配置TDREMOTE 260

E.2.3远程DOS驱动程序 261

E.2.4建立远程DOS连接 262

E.3调试远程Windows应用程序 262

E.3.1建立远程系统 262

E.3.4建立远程Windows链路 264

E.3.3启动远程Windows驱动程序 264

E.4加载程序到远程系统 265

E.5远程调试过程 265

E.6调试建议 266

E.6.1 TDREMOTE信息 266

E.6.2 WREMOTE消息 267

附录F对话框与错误信息 268

F.1提示框 268

F.2错误信息 272

F.2.1致命错误 272

F.2.2其它错误信息 273

F.3其它信息 283

G.1.2存取指针数据 284

G.1.3单步执行复杂表达式 284

G.1 Borland C++的提示 284

G.1.1作优化处理 284

附录G在不同语言下使用Turbo Debugger 284

G.2 Turbo汇编提示 285

G.2.1查看原始十六进制数 285

G.2.2源程序级调试 285

G.2.3检查和修改寄存器值 285

G.3Turbo Pascal的提示 285

G.3.1单步执行初始化代码 285

G.3.2单步执行出口过程 286

G.3.3常量 286

G.3.4字符串和集合在堆栈上的临时空间 286

G.3.5 灵活的类型强制转换(Type Casting) 286

G.3.6 Pascal的CPU窗口注意点 287