目标代码动态调试TurboDebugger.ppt
《目标代码动态调试TurboDebugger.ppt》由会员分享,可在线阅读,更多相关《目标代码动态调试TurboDebugger.ppt(45页珍藏版)》请在三一文库上搜索。
1、目标代码动态调试TurboDebugger,TD. EXE(简称TD)是一个具有窗口界面的程序调试器, 是Borland 公司产品Turob Debugger 的IA-16版本。利用TD,用户能够调试已有的可执行程序(后缀为EXE);用户也可以在TD中直接输入程序指令,编写简单的程序。,一、如何启动TD 二、TD中的数制 三、TD的用户界面 四、代码区的操作 五、寄存器区和标志区的操作 六、数据区的操作 七、堆栈区的操作,处理器认识 环境检查修改 指令认识 直接I/O操作(硬件调试) 单步调试 断点调试 优点:彩色文本,占用资源不多 缺点:不支持中断调试,一、如何在Windows环境下启动TD
2、,在Windows中启动TD 仅启动TD而不载入要调试的程序 双击TD.EXE文件名,Windows就会打开一个DOS窗口并启动TD。启动TD后会显示一个版权对话框,这时按回车键即可关掉该对话框。 启动TD并同时载入要调试的程序 把要调试的可执行文件拖到TD.EXE文件名上,Windows就会打开一个DOS窗口并启动TD,然后TD会把该可执行文件自动载入内存供用户调试。 若建立可执行文件时未生成符号名表,TD启动后会显示“Program has no symbol table”的提示窗口,这时按回车键即可关掉该窗口。(可修改属性),一、如何在命令行方式启动TD,什么是命令行方式? (1)Win
3、dows下进入命令行方式/常用MS-DOS命令 Windows下利用开始运行(或按Win键+R)输入cmd 或command (Win2K) 或在程序下进入MS-DOS方式(Win2K)或附件下(Win XP)进入命令提示符进入命令行方式。也可将相关命令复制到桌面。 可以根据爱好和需要修改MS-DOS方式或命令提示符的相关属性,包括起始(工作)目录(路径)、快捷键(默认CTRL + ALT +D键)、窗口/全屏选项、前景背景颜色等,,命令行快捷方式选择,颜色属性选择,命令行 样例模式,典型命令行操作,采用滚屏方式(ScreenUp),一、如何启动TD,在命令行方式-DOS窗口中启动TD 仅启动
4、TD而不载入要调试的程序 D:ASMTD 用这种方法启动TD,TD会显示一个版权对话框,这时按回车键即可关掉该对话框。 启动TD并同时载入要调试的程序 D:ASMTD HELLO.EXE 若建立可执行文件时未生成符号名表(带源代码调试),TD启动后会显示“Program has no symbol table”的提示窗口,这时按回车键即可关掉该窗口。,二、TD中的数制,TD支持各种进位记数制,但通常情况下屏幕上显示的机器指令码、内存地址及内容、寄存器的内容等均按十六进制显示(数值后省略“H”)。在TD的很多操作中,需要用户输入一些数据、地址等,在输入时应遵循计算机中数的记数制标识规范。例如:
5、二进制数后面加“B”或“b”,如10010001b等; 十六进制数后面加“H”或“h”,如38h、0a5h、0ffh等。 TD允许在常数前面加上正负号,遵循补码格式。 所有的实验在输入程序或数据时,若无特别说明,都可按十六进制数进行输入,若程序中需要输入负数,可按上述规则进行输入。,三、TD的用户界面CPU窗口,三、TD的用户界面CPU窗口,功能作用:-代码动态调试 显示CPU和内存整个状态; 在代码区内使用嵌入汇编,输入指令或对程序进行临时性修改。 存取数据区中任何数据结构下的字节,并以多种格式显示或改变它们。 检查和改变寄存器(包括标志寄存器)的内容。 五个区域:代码、寄存器、标志、数据和
6、堆栈区。 光标所在区域称为当前区域,用户可以使用Tab键或Shift-Tab键切换当前区域,也可以在相应区中单击鼠标左键选中某区为当前区。,感兴趣的存储区域选择,点击感兴趣的区域(代码、数据和堆栈区之一),出现GOTO下拉菜单(选择Goto/G)写入新的段基和偏移量地址(如3400:5000,或ES:5000)回车输入,三、TD的用户界面全局菜单介绍1,CPU窗口的上面为TD的全局菜单条,可用“ALT键+菜单项首字符”打开菜单项对应的下拉子菜单。在子菜单中用“”、“”键选择所需的功能,按回车键即可执行选择的功能。为简化操作,某些常用的子菜单项后标出了对应的快捷键。,File菜单:文件操作 Op
7、en 载入可执行程序文件准备调试 Change dir 改变当前目录 Get info 显示被调试程序的信息 DOS shell 执行DOS命令解释器(用EXIT命令退回到TD) Quit 退出TD(Alt-X),三、TD的用户界面全局菜单介绍2,Edit菜单:文本编辑 Copy 复制当前光标所在内存单元的内容到粘贴板(Shift-F3) Paste把粘贴板内容粘贴到当前光标所在内存单元(Shift-F4),View菜单:打开一个信息查看窗口 Breakpoints 断点信息 Stack 堆栈段内容 Watches 被监视对象信息 Variables 变量信息 Module 模块信息 File
8、 文件内容 CPU 打开一个新的CPU窗口 Dump 数据段内容 Registers 寄存器内容,三、TD的用户界面全局菜单介绍3,Run菜单:执行 Run 从CS:IP开始运行程序直到程序结束(F9) Go to cursor 从CS:IP开始运行程序到光标处(F4) Trace into 单步跟踪执行(对CALL指令将跟踪进入子程序)(F7) Step over 单步跟踪执行(对CALL指令将执行完子程序才停下)(F8) Execute to 执行到指定位置(Alt-F9) Until return 执行当前子程序直到退出(Alt-F8) ),Breakpoints菜单:断点功能 Togg
9、le 在当前光标处设置/清除断点(F2) At 在指定地址处设置断点(Alt-F2) Delete all 清除所有断点,三、TD的用户界面全局菜单介绍4,Data菜单:数据查看 Inspector 打开观察器以查看指定的变量或表达式 Evaluate/Modify 计算和显示表达式的值 Add watch 增加一个新的表达式到观察器窗口,Option菜单:杂项 Display options 设置屏幕显示的外观 Path for source 指定源文件查找目录 Save options 保存当前选项,三、TD的用户界面全局菜单介绍5,Window菜单:窗口操作 Zoom 放大/还原当前窗口
10、(F5) Next 转到下一窗口(F6) Next Pane 转到当前窗口的下一区域(Tab) Size/Move 改变窗口大小/移动窗口(Ctrl-F5) Close 关闭当前窗口(Alt-F3) User screen 查看用户程序的显示(Alt-F5),三、TD的用户界面功能键提示条,三组功能键:F1F10,Alt-F1Alt-F10,Ctrl功能键-代码区的局部菜单。CPU窗口下面的提示条中显示了这三组功能键对应的功能。通常情况下提示条中显示的是F1F10功能键的功能。按住Alt不放,提示条中将显示Alt-F1Alt-F10功能键的功能。按住Ctrl不放,提示条中将显示各Ctrl功能键
11、的功能。,TD功能键对应功能表,CPU窗口-局部菜单,TD的CPU窗口中,每个区域都有一个局部菜单,局部菜单提供了对本区域进行操作的各个命令。在当前区域中按Alt-F10键或单击鼠标右键即可激活本区域的局部菜单,进行修改等各种操作,代码区的局部菜单,CPU窗口-代码区的操作,代码区用来显示代码(程序)的地址、代码的机器指令和代码的反汇编指令。本区中显示的反汇编指令依赖于所指定的程序起始地址。TD自动反汇编代码区的机器代码并显示对应的汇编指令。 每条反汇编指令的最左端是其地址,如果段地址与CS段寄存器的内容相同,则只显示字母“CS”和偏移量(CS:YYYY),否则显示完整的十六进制的段地址和偏移
12、地址(XXXX:YYYY)。地址与反汇编指令之间显示的是指令的机器码。如果代码区当前光标所在指令引用了一个内存单元地址, 则该内存单元地址和内存单元的当前内容显示在CPU窗口顶部边框的右部,这样不仅可以看到指令操作码,还可看到指令要访问的内存单元的内容。,*当带源代码调试时可以看到指令符号,CPU窗口-代码区的操作,在光标行按空格键弹出输入框,汇编修改当前指令.数据区相同,CPU窗口数据区的操作,在光标处按空格键弹出输入框,修改内存数据(可连续输入,用空格隔开),CPU窗口寄存器区的操作1,在光标处按空格键弹出输入框,修改内存数据(可连续输入,用空格隔开),堆栈区相同,CPU窗口寄存器区的操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 目标 代码 动态 调试 TurboDebugger
链接地址:https://www.31doc.com/p-3213634.html