如何调试Windows外壳扩展程序

如何调试Windows外壳扩展程序,第1张

1、在Visual C++开发环境中启动外壳扩展,进入工程的“Project|Settings”菜单,然后选择“Debug”标签,在“Executable For Debug Session”编辑框中输入外壳执行程序,也就是资源管理器路径,<资源管理器程序路径>/ Explorer.exe.

2、进入任务栏的“开始”菜单,单击“关机”。此时d出关机对话框,然后按下CTRL+ALT+SHIFT组合键的同时按下关机对话框的“取消”按钮,此时外壳程序被终止。也就是说你的桌面上和任务栏中的所有图标全部消失。

不要怕啦,这只是关掉了Windows的外壳,其它的一切依然故我,地球该怎么转还在怎么转。已经启动的程序仍然在运行…….

3、启动Visual C++的调试器便可以调试外壳扩展了。

在调试器下运行资源管理器与正常情况下运行的资源管理器是不一样的,很容器引起混乱,这是因为“任务栏”和“开始”菜单按钮是资源管理器的一部分。要想调试某个文件的上下文菜单,当资源管理器在调试器下运行时,它仍然需要从“开始”菜单启动一个资源管理器实例。

在Windows 9x系统里调试的注意事项:结束调试后,在桌面的任何地方双击鼠标便重启外壳。此时d出任务管理对话框,在“文件”菜单上单击“运行”,然后输入资源管理器程序(Explorer.exe)的路径,按“确定”按钮后一切恢复正常。

在Windows NT系统里调试的注意事项:结束调试后,按下CTRL+ALT+DEL组合键,选择“任务管理器”按钮,d出任务管理器对话框,在“文件”菜单选中“新任务/运行…..”菜单项,然后输入资源管理器程序(Explorer.exe)的路径即可恢复。

(这是我在中学时写的论文的一部分)

=============================================

所有80x86微机( *** 作系统不限)在启动时,开关按钮先向主板发出一个”Power Good!”信号.CPU收到信号后复位.使SS=DS=ES=IP=0000h,而CS=FFFFh使CPU从FFFF:0000h执行指令,这部分内存区域是BIOS的ROM空间.这里固化一条跳转指令.使CPU转到POST自检部分执行程序.用户在屏幕上可以看到BIOS的厂商,版本等信息,还可以看见内存,驱动器等设备的检测过程.检测完毕后,会显示自检结果,如果发现硬件被更换,则屏幕下方会显示”Update ESCD…”之后,执行INT 19h指令,进入初始引导程序.初始引导程序按在CMOS设置芯片中的顺序,在各驱动器中查找主引导记录,若找到,则将它读到0000:7C00h单元开始的区域.至此, *** 作系统启动第一步完成,用时约10秒.我要研究第二步:Windows9x,MS-DOS *** 作系统的装载.

1.装入IO.SYS文件.

我的依据是在用UltraEdit打开IO.sys时,找到了”Starting MSDOS…”字符串,以及七项启动菜单的字符串.

此时,屏幕显示Starting MSDOS7.1…或Starting Windows95…

IO.sys是MSDOS7.10的内核,其中包括一组设备驱动程序,还有一段程序,用来装配中断向量.它是一个很重要的系统文件,不可删除.

2.解释MSDOS.sys

我的依据是在MSDOS.sys文件中,找到了控制启动的设置.如图2:

此时,屏幕显示漂亮的启动画面

3解释config.sys

Config.sys是MSDOS中的配置文件,用于初始化DOS,创建DOS的工作环境. 它是一个文本文件,可以让用户编辑修改.通常用来安装设备驱动程序,例如光驱,鼠标的驱动程序.它可以删除,但删除之后,一些硬件无法使用.

我的依据是在启动时显示在Config.sys中驱动程序的信息,说明正在安装驱动程序到内存.

4.装入Command.com

Command.com是DOS的默认外壳.它是一个命令解释程序,它用来解释用户输入的命令,以及解释以扩展名为BAT的可执行文件.我的依据是在没有Autoexec.bat的时候,显示版本信息. 而版本信息在Command.com中可以找到.

5.装入Autoexec.bat

Autoexec.bat是DOS中的自动批处理文件,在启动时自动运行,使用户使用时,不必每次在开机时进行相同 *** 作,只要将每次在启动时输入的命令添加在Autoexec.bat中,在开机时就会自动执行,大大提高工作效率.

我的依据是在启动时,显示Autoexec.bat的执行结果.

至此,MSDOS7.10启动结束,显示类似C:\>的提示符,Windows9x启动第二步完成.

6.装入Win.com

Win.com是Windows9x的装载器,用来装入Windows的所有设备驱动程序.

7.装入Wininit.exe

Wininit.exe是Windows的一个设备驱动程序,使Windows支持PNP技术.

8.装入Vmm32.vxd

Vmm32.vxd是一个重要文件.vmm32.vxd将CPU的工作模式从实模式改变成保护模式,使计算机可以使用大于1MB的内存.并按System.ini和注册表配置GUI系统,读取其他驱动程序

9.装入Win16 API

Win16API由3个文件构成:User.exe,GDI.exe,KRNL386.exe.它们提供了一组系统功能调用,使Windows能运行16位的应用程序.

至此,Windows启动第3步结束.

10.装入Win32API

Win32API由Vwin323.386程序装入,有3个文件:User32.dll,Kernel32.dll,Gdi32.dll组成,形成系统内核,使Windows能运行32位应用程序.

11.装入Explorer.exe

Explorer.exe是Windows的默认外壳. 装入之后, 显示任务栏和开始菜单.

至此,Windows9x启动过程结束.

在写论文的过程中,我感到计算机的知识复杂,但具有挑战性,需要我们学习.

SS DS ES IP CS:它们是CPU中的寄存器,SS寄存器的值为堆栈段的段基址,DS为数据段的段基址,ES为附加段的段基址,IP为指令指针,CS为代码段的段基址.

PNP技术:PNP为Plug And Play的缩写,意为”即插即用”.使硬件的安装大为简化.

实模式,保护模式:它们是80386及以上的80x86系列CPU的工作模式.在实模式下,超过1088K的内存不能直接使


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11088081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存