softice 用户手册
- 格式:doc
- 大小:202.50 KB
- 文档页数:76
Softice使用方法和技巧SoftICE 是一款非常强大的调试工具,可以在软件开发和逆向工程过程中极大地提高效率。
以下是使用 SoftICE 的一些方法和技巧。
1. 启动 SoftICE:- 在系统启动时,按下 CTRL+D 进入 SoftICE。
- 或者通过命令行输入 "sice /d" 启动 SoftICE。
2.设置符号路径:- 使用 "sice /pn" 命令设置源代码和符号的路径。
- 使用 "sice /pa" 命令添加符号文件路径。
3.设置断点:-使用"BP"命令设置软件断点。
-使用"HW"命令设置硬件断点。
-使用"TWT"命令设置条件断点。
4.跟踪代码执行:-使用"U"命令从当前地址反汇编代码。
-使用"T"命令单步执行代码。
5.跟踪寄存器的值:-使用"R"命令查看和修改寄存器的值。
-使用"REAX"命令查看和修改EAX寄存器的值。
6.内存窗口:-使用"D"命令查看内存内容。
-使用"DESP"命令查看ESP寄存器指向的内存内容。
7.查找字符串:-使用"F"命令查找字符串。
- 使用 "F /U" 命令查找 Unicode 字符串。
8.显示调用堆栈:-使用"K"命令显示调用堆栈。
9.跟踪函数调用:-使用"TR"命令设置跟踪点。
-使用"W"命令在函数返回前单步执行。
10.跟踪文件和注册表操作:-使用"FTR"命令跟踪文件操作。
-使用"RTR"命令跟踪注册表操作。
11.监视变量值的变化:-使用"AP"命令添加一个监视点。
Package‘icesTAF’March21,2023Version4.2.0Title Functions to Support the ICES Transparent Assessment FrameworkImports purrr,roxygen2,TAF(>=4.2.0),data.treeSuggests git2rLazyData yesDescription Functions to support the ICES Transparent Assessment Framework<https://taf.ices.dk>to organize data,methods,and results used in ICESassessments.ICES is an organization facilitating international collaborationin marine science.License GPL-3URL https://taf.ices.dk,https:///ices-tools-prod/icesTAFEncoding UTF-8RoxygenNote7.2.3NeedsCompilation noAuthor Colin Millar[aut,cre],Arni Magnusson[aut],Alexandros Kokkalis[ctb],Iago Mosqueira[ctb],Ibrahim Umar[ctb],Hjalte Parner[ctb]Maintainer Colin Millar<********************>Repository CRANDate/Publication2023-03-2114:00:02UTCR topics documented:icesTAF-package (2)add.data.script (2)dir.tree (3)download.analysis (4)draft.data.script (5)12add.data.script install.deps (6)run.analysis (7)taf.colors (7)taf.roxygenise (8) (9)Index10 icesTAF-package Functions to Support the ICES Transparent Assessment FrameworkDescriptionFunctions to support the ICES Transparent Assessment Framework,to organize data,methods,and results used in ICES assessments.DetailsInitial TAF steps:draft.data.script create boot scripttaf.roxygenise create DATA.bib entry from tagsAuthor(s)Colin Millar and Arni Magnusson.ReferencesICES Transparent Assessment Framework:https://taf.ices.dk.To explore example TAF stock assessments,see the introductory video and tutorial.The TAF Wiki provides additional help resources.add.data.script Import a boot data script from ICES datasets repoDescriptionDownload an‘R’file from the ICES datasets repo to fetch data including adding metadata via roxygen2fields to the top of thefile.Usageadd.data.script(name,install.deps=TRUE,commit=FALSE)dir.tree3 Argumentsname the name of the dataset.install.deps install packages used in the script if not already installed.commit should the boot script be added and committed to the analysis.Examples##Not run:#Create boot foldermkdir(taf.boot.path())#Create boot script,boot/mydata.Radd.data.script(name="vms")#Create metadata,boot/DATA.bibtaf.roxygenise(files="vms.R")#Run boot script,creating boot/data/vms/...taf.boot()##End(Not run)dir.tree Print a directory treeDescriptionPrint the directory tree andfile contents in a pretty wayUsagedir.tree(path=".")Argumentspath the directory for which the listing is to be shownSee Alsolist.files4download.analysisExamples##Not run:library(icesTAF)#Download a TAF analysisdir.tree()##End(Not run)download.analysis Download a TAF analysisDescriptionDownload the code for a TAF analysis from GitHub.Usagedownload.analysis(repo,dir=tempdir())Argumentsrepo The full name of the GitHub repository,e.g."ices-taf/2019_san.sa.6".dir the directory to place the TAF projectSee Alsorun.analysisExamples##Not run:library(icesTAF)#Download a TAF analysisrun_dir<-download.analysis("ices-taf/2019_san.sa.6",dir=".")#run the analysisrun.analysis(run_dir)##End(Not run)draft.data.script5 draft.data.script Draft or create a boot data scriptDescriptionCreate an‘R’file to fetch data including adding metadata via roxygen2fields to the top of thefile.Usagedraft.data.script(name,title,description,format,originator,year,period, access,content)Argumentsname the name of the dataset and thefile name that will be created.title description of the data,including survey names or the like.description a more involved description if required.format the format of the data produced,e.g."csv"originator who prepared the data,e.g.a working group acronym.year year of the analysis when the data were used.The default is the current year.period a numeric vector of the form c(1990,2000),indicating thefirst and last year that the data cover.Alternatively,a single number if the data cover only oneyear.access data access code:"OSPAR","Public",or"Restricted".content the r code that fetches and saves the dataExamples##Not run:#Create boot foldermkdir("boot")#Create boot script,boot/mydata.Rdraft.data.script(name="mydata",title="Title",description="Description",format="txt",originator="Me",year="2022",period=c(2000,2020),access="Public",content= write(pi,file="pi.txt") )#Create metadata,boot/DATA.bibtaf.roxygenise(files="mydata.R")#Run boot script,creating boot/data/mydata/pi.txttaf.boot()##End(Not run)6install.deps install.deps Install packages dependencies of a TAF analysisDescriptionSearch R scripts for packages that are required and install them.Usageinstall.deps(path=".",...)Argumentspath a directory orfile containing R scripts....arguments passed on to install.packagesSee AlsodepsExamples##Not run:library(icesTAF)#Download a TAF analysisdownload("https:///ices-taf/2019_san.sa.6/archive/refs/heads/master.zip") unzip("master.zip")#move into analysis foldersetwd("2019_san.sa.6-master")#list dependenciesdeps()#install dependenciesinstall.deps()##End(Not run)run.analysis7 run.analysis Run a TAF analysisDescriptionRun the code for a TAF analysis locally.Usagerun.analysis(dir)Argumentsdir the directory where the TAF project is locatedSee Alsodownload.analysisExamples##Not run:library(icesTAF)#Download a TAF analysisrun_dir<-download.analysis("ices-taf/2019_san.sa.6",dir=".")#run the analysisrun.analysis(run_dir)##End(Not run)taf.colors TAF ColorsDescriptionPredefined colors that can be useful in TAF plots.Usagetaf.greentaf.orangetaf.bluetaf.darktaf.light8taf.roxygeniseSee AlsoTAF-package gives an overview of the package.Examplestaf.greenopar<-par(mfrow=c(3,1))barplot(5:1,main="Five",col=c(taf.green,taf.orange,taf.blue,taf.dark,taf.light))barplot(6:1,main="Six",col=c(taf.green,taf.orange,taf.blue,taf.dark,taf.light,"white"))barplot(7:1,main="Seven",col=c("black",taf.dark,taf.light,taf.green,taf.orange,taf.blue,"white")) par(opar)taf.roxygenise Process a TAF repo with the taf rocletDescriptionThis function builds documentation for a TAF repository using roxygen syntax headers.It depends on the roxygen2package adding some extra functionality to produce citation entries for data sourcesUsagetaf.roxygenise(path=".",files)Argumentspath location of taf repository top level directory.Default is working directory.files a vector offile names to parse for documentation.Examples##Not run:#Create boot foldermkdir("boot")#Create boot script,boot/mydata.Rdraft.data.script(name="mydata",title="Title",description="Description",format="txt",originator="Me",year="2022",period=c(2000,2020),access="Public",content= write(pi,file="pi.txt") )#Create metadata,boot/DATA.bib9 taf.roxygenise(files="mydata.R")#Run boot script,creating boot/data/mydata/pi.txttaf.boot()##End(Not run) TAF SkeletonDescriptionCreate initial directories and R scripts for a new TAF analysis using a stock assessment created on .Usage(path=".",stockname,force=FALSE)Argumentspath where to create initial directories and R scripts.The default is the current work-ing directory.stockname The short-form name of a stock on .force whether to overwrite existing scripts.ValueFull path to analysis directory.See Alsopackage.skeleton creates an empty template for a new R package.TAF-package gives an overview of the package.Examples##Not run:(stockname="WBCod_2021_cand01")##End(Not run)Indexadd.data.script,2deps,6dir.tree,3download.analysis,4,7draft.data.script,2,5icesTAF(icesTAF-package),2icesTAF-package,2install.deps,6install.packages,6list.files,3package.skeleton,9run.analysis,4,7taf.blue(taf.colors),7taf.colors,7taf.dark(taf.colors),7taf.green(taf.colors),7taf.light(taf.colors),7taf.orange(taf.colors),7taf.roxygenise,2,8,910。
冰河教程之新手上路完全手册上面这幅图是主页面,其实冰河的版本都没有关系,只是改了一下口令和版本之类的东西,功能都是一样的!我们一步一步来,菜单那项我们先别管!看看工具栏上的第一个图标,鼠标移上去就会显示“添加主机”用鼠标点击他,就可以看到下面的对话框。
在这之前我们最好是先搜索到一台中了冰河的主机,我建议大家不要用冰河自带的扫描功能(因为他太弱了,终归不是专业的扫描工具啊!只是一个木马啊!)我推荐大家使用:代理猎手。
关于冰河的搜索功能,当然在没有的情况下,还是只有使用他了!下面就是“搜索主机”的对话框了!这样用他搜索到的主机不用添加了,他会自动加到主机列表中,你只要单击就可以了,还是很方便的。
搜索主机在工具栏上的第三个图标!在工具栏上的第四个和第五个图标分别是“查看屏幕”和“控制屏幕”鼠标移上都有显示的,点击之后都会弹出下面的对话框来。
按照下面的对话上的提示一步步的选择好!就可以了。
(图像参数设定)大家都用QQ的吧,下面的我们要讲的是冰河的“冰河信使”功能,这个就有点像OICQ 中的聊天室,不过这个不用通过什么第三方服务器了,就是点对点的聊天。
(不会吧,木马还带聊天室,有没有搞错,真不知道这个功能有什么用,唉!多余!)(冰河信使)工具栏上的第八个图标是“修改远程配置”,连接到一台中了冰河的机器上时点这个图标就可以修改了!(修改远程配置)工具栏上的第九个图标“配置本地服务器程序”,这个功能是先让你配置好本地服务器端之后,再将这个服务器端程序发给他(如何发,这个就看你了,如是男的你就办女的骗他啊!)。
还有远程配置中也可使用本功能。
区别只是在对话框中:一个有“待配置文件”这个选项,一个没有!如下图就是修改远程服器端的!下面我们来看看冰河的文件管理功能。
一看就知道,这个很像我们常用的WINDOWS的资源管理器!其实我们连到一台有冰河的机器上,都是用的这个功能“命令控制台”。
命令控制台分为六大类:口令类命令、控制类命令、网络类命令、文件类命令、注册表读写、设置类命令。
目录手册版权 (4)手册用途 (5)手册说明 (6)登陆窗口 (7)主界面 (9)门诊采样 (15)采样查询 (19)样本送达 (23)标本核收 (25)标本登记检验 (30)项目工作单 (38)结果批量修改 (41)标本查询 (43)项目结果查询 (47)日志查询 (50)工作量统计 (53)医师统计 (57)科别统计 (61)单个病人统计报告 (64)操作者统计 (68)单据类别统计 (74)操作者统计 (109)微生物阳性率统计 (113)TAT统计 (117)拒收报告清单 (121)基础代码设置 (126)仪器组设置 (129)仪器设置 (132)申请项设置 (135)单据类别设置 (138)测试项目设置 (142)单据类别申请关系 (149)申请项测试项关系 (152)药敏设置 (155)结果集设置 (158)规则设置 (161)药敏组合设置 (164)检验套餐设置 (168)权限设置 (171)重设密码 (176)系统配置 (178)锁定 (183)手册名称:TC SOFT LIS 4.0 操作手册发布日期:2009年5月1日版权归属:上海腾程医学科技信息有限公司公司地址:上海市静安区武定路1088号15楼D座公司邮编:200040公司网址:公司邮箱:Admin@联系电话:086-021-********传真号码:086-021-********销售咨询:086-021-*********824技术咨询:086-021-*********824版权声明:保留全部版权。
除非事先得到上海腾程医学科技信息有限公司的书面许可,任何人不得以任何形式、任何方法 ( 电子、机械、影印、录制或其它方法 ) 复制或传输文件的任何部分。
软件简介:LIS 4.0 是腾程科技TCsoft产业链旗下的LIS产品线,经过最初的单机版产品发展到较稳定的LIS 2.12,随着市场与的需求衍生出网络版的LIS 3.0,经过产品的发展与开拓,TCsoft的LIS已进入第四代产品——LIS 4.0。
SOFTICE安装及使用SOFTICE有几个平台的版本,DOS,WINDOWS 3.0,Windows 95/98,WINDOWS NT等。
由于现在最普及的操作系统是Windows 95/98 & Windows NT ,因此就讲讲SOFTICE在这两平台安装时的一些注意事项。
SOFTICE的安装1、SOFTICE目前最新版本是4.01,运行setup.exe开始安装,出现的第一对话框是“欢迎”并说明NuMega 公司的版权。
点下步出现输入姓名、公司、序列号对话框,此时按要求输入信息。
接着出现选择安装目录,Windows 95/98用户必须注意长文件名的问题,为了减少不必要的麻烦最好是建一简单的目录如c:\softice;而WINDOWS NT没有这问题。
2、较为麻烦的一对话框是显卡配制('Select Display Adapter' )SoftICE (version 4)现在支持相当多的显卡列表,如果你幸运的话,安装程序自动选择合适的显卡让你测试,选择TEST是必要的,以了解你的显卡状况,从而可以进入下一窗口。
我们推荐你设置显卡为Standard VGA,并把Universal Vidoe Driver这一项选上,这样SOFTICE 就会在一个窗口里弹出来,而不会切换到全屏(那样容易花屏,且当你调试时显示器不断地在字符和图形两种模式下来回转换,对显示器不利。
)3、如果你运行NT安装,下一对话框是:当你启动windows时如何启动SOFTICE,有Boot/System/Automatic or Manual选项。
接着是鼠标的配制,按你的鼠标类型选择正确的选项。
在Windows 95/98里还将询问你autoexec.bat修改,这里同NT安装一样,根据你的需要设置autoexec.bat,其默认是每次启动windows时通过自动批处理文件autoexec.bat启动SOFTICE,本人建议不要每次启动widnows时都装载SOFTICE,如果你不调试时,就很浪费资源还有可能造成系统不稳定,此时你可将autoexec.bat改名(如s.bat),需要用SOFTICE时,启动windows到纯DOS环境下,运行s.bat启动SOFTICE。
SOFT-ICE命令详解 (2)F-O命令: F作用: 填充某一块内存区域语法: F address l length data-list用法:length : 字节长度data-list: 所要填的数据. 可以是用单引号或双引号括起来的字符串执行F 命令将向所指定的内存区域填充length 长度的数据,如果数据不够长度,将重复数据,直到达到长度为止.点评: 无命令: FAULTS作用: 打开或关闭错误跟踪功能语法: FAULTS [on │ off]用法:FAULTS 命令将打开或关闭SoftICE的错误跟踪功能.不加参数将显示当前的开关状态.点评:由于SoftICE做为一个DEBUGGER,FAULTS 默认为ON, 所以一旦CPU有非法指令,SoftICE就会不停地弹出, 让你知道错在哪里,实际在工作中这样的情况如果太频繁地发生,最好将其置为OFF.我一般将其置为ON, 当发生非法指令时再手工置为OFF.你也可以在WINICE.DAT 中一开始就置其为OFF. 初学者一般不知道有这个命令, 一旦发生非法指令,除了按R键,只有傻站着 .-(命令: FILE作用: 显示或切换当前源文件# 语法: FILE [file-name]用法:FILE 命令常用来辅助在源文件中没有符号表的地方下断点. 用FILE命令将所需的源文件显示在代码窗口中,用SS 命令查找一下,再用BPX或F9来下断点.如果加文件名参数,则所选的文件变成当前文件, 并被显示在代码窗口中. 如果没有文件名参数,则显示当前的源文件(如果当前有的话).如果加 * ,则列出当前符号表中所有源文件. 在WIN95中,用FILE 加文件名同时也切换内存地址内容.点评:一般用于高级编程工具的辅助调试,如C语言等.不过这些编程工具已经内置DEBUGGER,所以就看个人习惯了.命令: FKEY作用: 显示或修改当前快捷键定义语法: FKEY [function-key string]用法:function-key: 快捷键:F1 - F12 :SF1 - SF12 : Shift键加F1 - F12CF1 - CF12 : Ctrl键加F1 - F12AF1 - AF12 : Alt键加F1 - F12string : 一个或多个SoftICE的命令.命令前加 ^ 表示在按快捷键时不显示相应的命令内容.命令后加;代表回车.FKEY 后只跟function-key,而不跟string,将取消该快捷定义.除了用FKEY命令可以定义快捷键外,用SoftICE的LOADER也能做到这一点默认快捷键清单:F1=h; F2=^wr;F3=^src; F4=^rs;F5=^x; F6=^ec;F7=^here; F8=^t;F9=^bpx; F10=^p;F11=^G @SS:ESP; F12=^p ret;SF3=^format; CF8=^XT;CF9=TRACE OFF; CF10=^XP;CF11=SHOW B; CF12=TRACE B;AF1=^wr; AF2=^wd;AF3=^wc; AF4=^ww;AF5=CLS; AF8=^XT R;AF11=^dd dataaddr->0;AF12=^dd dataaddr->4;CF1=altscr off; lines 60; wc 32; wd 8;CF2=^wr;^wd;^wc;点评: 无命令: FLASH作用: 在 P 和 T 命令执行过程中刷新Windows 屏幕语法: FLASH [on │ off]用法:如果将FLASH 置为 ON ,则在执行T或P命令时,SoftICE将刷新一下Windows 屏幕,这在调试一个直接对显存操作的程序时特别有用.在一般情况下,当用 P 命令跨过一个CALL 时,而此 CALL 又调用显示驱动程序时,Sof-tICE才重新刷新屏幕.FLASH 命令不带参数将显示当前状态.默认FLASH OFF.点评: 无命令: FORMAT作用: 改变数据窗口的显示格式语法: FORMAT用法:FORMAT 命令用来改变数据窗口的显示格式.SoftICE有快捷键 Shift-F3 来代替FORMAT.显示格式将按字节,字,双字,短实型,长实型,10字节实型循环.点评: 参见 D, DATA 命令.命令: G作用: 执行到某一地址语法: G [=start-address] [break-address]用法:=start-address: 开始地址break-address : 中断地址G 命令不带参数将从SoftICE中返回.如果带参数break-address,则SoftICE将在所指定的地址处下一个一次性断点; 如果带=start-address,SoftICE 将从指定的地址处开始执行,否则从当前CS:EIP处执行. 程序中其他的断点(非G命令下的断点)照样起作用. 无论是谁先弹出,都将清除G 命令所下的一次性断点.G 命令不带参数类似于 X 命令.G 命令在Windows95中使用除错寄存器, 如果除错寄存器用完,则用INT 3.点评: 由于G 命令缺省用DRx,所以有时可以对付一些在INT 3上作手脚的程序.命令: GDT作用: 显示全局描述符表语法: GDT [selector]用法:selector: 指定GDT选择器GDT 命令将显示全局描述符表的内容.如果加选择符参数,则只显示此选择符所指的描述符.输出:GDT 的线性基址和长度将显示在输出数据的顶行.输出数据的每一行内容的说明:value: 最低两位即描述符特权级type : 描述符类型,如下:Code16 : 16位代码描述符Data16 : 16位数据描述符Code32 : 32位代码描述符Data32 : 32位数据描述符LDT : 局部描述符表描述符TSS32 : 32位任务状态段描述符TSS16 : 16位任务状态段描述符CallG32: 32位调用门描述符CallG16: 16位调用门描述符TaskG32: 32位任务门描述符TaskG16: 16位任务门描述符TrapG32: 32位陷肼门描述符TrapG16: 16位陷肼门描述符IntG32 : 32位中断门描述符IntG16 : 16位中断门描述符Reserved: 保留的描述符base : 描述符中的段基址limit: 描述符中的段界限DPL : 描述符特权级,0,1,2,3present bit: P 或 NP 表示该段是否在内存中segment attributes: 段特性:RW: 数据段可读写RO: 数据段只读RE: 代码段可读可执行EO: 代码段只可执行B: TSS(任务状态段)忙置位ED: 数据扩展方式参见 LDT.点评:这段翻译并不完全用PDF手册上的.如"selector" 原指选择符(器),用来指向描述符表中的描述符, 而 PDF中type 的说明全用到 selector说的意思虽是一样,但和别的文献矛盾,故认为不妥,将其翻译成descriptor 即描述符.实际上可以看出,一个选择符指向一个描述符,两者是一致的.描述符类型实际上也就是指向它的选择符类型.命令: GENINT作用: 强行产生一个中断语法: GENINT [nmi │ int1 │ int3 │ interrupt-number]用法:interrupt-number: 对Windows95来说,0-5fhGENINT强行产生一个中断,用于SoftICE和别的DEBUGGER协作的时侯,如:GENINT nmi 将使SoftICE将控制返还给CodeView For Dos.(对其他DEBUGGER,请尝试0,1,2,3)GENINT还用于测试中断例程.但SoftICE不检测一个中断是否有效,它只是摹拟中断的产生,所以当用此命令时要注意相应的中断例程是否存在.点评: 无命令: H作用: 显示帮助信息语法: H [command]用法:键入 H 命令不带任何参数将显示所有命令的帮助. 要获得详细的帮助,在 H 后加命令名就可.详细的帮助将包括命令的描述,命令的语法,和例子.点评:H 命令可以很方便地帮助使用者查询SoftICE的命令.实际上在命令窗口的底部有一个状态条,它提供的实时帮助也是很有用的.命令: HBOOT作用: 系统重新启动语法: HBOOT用法:HBOOT 将重新启动计算机.等同于按 Ctrl+Alt+Del 组合键.HBOOT 一般都能成功,只有特殊情况下(某些插卡需要重加电)才用机器上的RESET或POWER键.点评:HBOOT 让我想到两件事:1,以前学微机时,老师老是盯着我们,唯恐我们乱启动机器.想起来真是不寒而栗, 好象是我们的过错一样.可机器明明死了嘛,不重新启动怎么行?2,有大部分品牌机上没有RESET键, 死机就按POWER键,按得老板倒抽凉气.:)命令: HEAP作用: 显示Windows全局堆语法: HEAP -L [free │ module-name │ selector]用法:-L : 只显示含局部堆的全局堆入口module-name: 模块名.selector : LDT 选择符HEAP FREE 将显示空闲的全局堆.HEAP 跟模块名将只显示由指定的模块拥有的全局堆入口. HEAP 跟LDT 选择符将只显示与此选择符相应的全局堆入口. HEAP 不带参数将显示整个全局堆的情况.输出:selector or handle: 选择符符或句柄.address : 32位虚拟地址size : 堆的大小(字节)module name : 模块名--------------------------------type : 全局堆的类型code : 不可丢弃的代码段code D : 可丢弃的代码段Data : 数据段ModuleDB : 模块数据基础段TaskDB : 任务数据基础段BurgerM : "三明治"(就是堆本身)Alloc : 被动态分配的内存Resource : Windows 资源--------------------------------额外信息:如果某全局堆的入口是代码段或数据段,则会显示该段在.EXE中的段号.如果某全局堆的入口是Windows资源,则会附加显示如下资源类型:--------------------------------UserDef(用户自定义);Icon(图标);String(字符串); Accel(快捷键);IconGrp(图标组);Cursor(光标);Menu(菜单);FontGrp(字体组);ErrTable(错误表);NameTabl(名字表);Bitmap(位图);Dialog(对话框);Font(字体);CursGrp(光标组)--------------------------------点评:PDF 手册中称堆本身为Burger-->"三明治"(碎肉夹饼)很贴切,堆本来就是乱七八遭.命令: HEAP32作用: 显示Windows全局堆语法: HEAP32 [hheap32 │ task-name]用法:hheap32 : 由HeapCreate()返回的堆句柄.task-name: 32位任务的名字.HEAP32 不带参数显示32位进程的堆的情况:.KERNEL32 缺省系统堆..进程用HeapCreate()申请的私有堆..两个由VMM产生的Ring-0级的堆.第一个是换页锁定的堆,第二个是可换页的堆..一个属于所有虚拟机的Ring-0堆.如果加上进程名,SoftICE将显示所有该进程的缺省堆,且地址内容也切换到该进程中.如果加上堆的基地址而不是进程名,SoftICE将显示该进程的非缺省堆.WINDOWS 95的调试版还提供了额外的调试信息,想要用SoftICE看到这些信息,必须:.对于KERNEL32 Ring-0堆,必须安装有SDK除错版..对于VMM Ring-0堆,必须安装VMM的DDK除错版.输出信息(HEAP32):HeapBase : 堆的基址MaxSize : 堆可增长的最大范围, 在此范围内堆无需再创建一个新段.Committed: 以千字节为单位当前存在于物理内存中的被保证的内存大小Segments : 堆中段的数量. 当堆增长超出段所能容纳的范围,就建立一个新段Type : 堆的类型:--------------------------------Private: 由应用程序建立的Ring-3堆System : KERNEL32建立的Ring-3堆Ring0 : VMM建立的Ring-0堆VMM## : 由VMM建立的为特定虚拟机存储数据的堆.--------------------------------输出信息(HEAP32 带参数):Address: 堆元素的地址.Size : 以字节为单位堆元素的长度.Free : 如果堆元素是空闲的块,则会显示"FREE",否则不显示.点评: 在SoftICEv3.20实际操作上和手册说的中有些许不同.命令: HERE作用: 运行到当前光标所在行语法: HERE用法:HERE 命令让程序一直走到光标所在行再停下来.注意:只有当光标在代码窗口中时才有效.如果代码窗口不可见或光标不在代码窗口中,则请用 G 命令代替.也可用EC 命令将光标移到代码窗口中去,再用 HERE.HERE 命令有个快捷键 F7.将光标定位到你想让程序暂停的指令处,按下F7 ,程序将在此处设一个一次性断点.程序中其他非一次性的断点照样起作用. 无论是谁先弹出,都将清除 HERE 所下的一次性断点.和G命令一样,HERE 命令尽量采用除错寄存器DRx, 只有用完时才用INT 3点评: 无.命令: HWND作用: 显示窗口句柄的信息语法: HWND [-x][hwnd │ [[level][process-name]]用法:level : 窗口等级号码.0 是最高级.1 其次,等等.窗口等级代表了父窗口和子窗口的关系. -x : 显示窗口的冗余信息.hwnd : 窗口句柄.process-name: 任何当前进程名如果指定了窗口句柄,就无需指定等级, 进程名等其他参数,SoftICE将显示所指定窗口句柄的信息.输出:Class Name : 此窗口所属类的名称或类的原子.Window Procedure: 窗口函数.点评: 窗口句柄很有用的.(废话!)命令: I作用: 从输入/输出(I/O)端口读入数据语法: I[size] port用法:size: B 字节(默认);W 字;D 双字port: 端口地址.I 命令在大多数情况下是作一个I/O输入指令, 获取真实的硬件端口的数据. 在虚拟端口的情况下,取得真实值和应用程序所见到的虚拟值可能不同. 对于 21h 和A1h 端口,SoftICE 是例外,它不进行读取,而是返回So-ftICE弹出时的值.点评: 参见 O 命令.命令: I1HERE作用: 遇到内嵌的INT 1指令时激活SoftICE语法: I1HERE [on │ off]用法:I1HERE 命令使SoftICE在遇到程序中内嵌的INT 1指令时弹出.I1HERE在调试程序时需在某处暂停时特别有用.在SoftICE弹出之前, SoftICE会检查当前是否有一条INT 1指令在程序中.如果没有的话,SoftICE将不弹出.在程序要暂停的指令之前加一句INT 1 就能做到这一点.SoftICE弹出时,EIP 会停在INT 1的下一条指令后.I1HERE 不带参数将显示当前I1HERE的状态.缺省为OFFI1HERE 在与如BoundsChecker 之类的调试工具分工协作时很有用,因为BoundsChecker用到 INT 3,为了防止冲突应使用INT 1. 另外,VMM,Windows内存管理的VxD,在Windows出现某些严重错误时会在严重错误返回前执行一个INT 1指令.如果此时I1HERE 为ON时, 你就能跟踪这类错误. 如由VMM因换页错误而产生INT 1 时寄存器的值如下:.EAX = 错误地址..ESI 指向一个ASCII字符串(信息)..EBP 指向一个CRS(在DDK的VMM.INC中定义的客户寄存器结构)点评:基础信息: INT 1 实际上是单步中断的处理例程. CPU在检测到 TP 标志为1时(TP是由DEBUGGER设的), 就自动进行这一例程. DEBUGGER 们挂接这个中断例程进行一些诸如显示当前寄存器值等操作,并等待用户进一步的指令. 在程序中直接用 INT 1指令也能达到效果.SoftICE不象DOS下的DEBUG.EXE,一碰到 INT 1 就中断,缺省是不中断的,只有当I1HERE 为 ON 时才中断.命令: I3HERE作用: 在遇到INT 3 指令时激活SoftICE语法: I3HERE [on │ off]用法:I3HERE ON 将使SoftICE每碰到一个 INT 3 时都弹出,这在调试程序时需要在某处暂停特别有用.在你需要暂停的指令之前加一个INT 3 就行.如果你是编 WINDOWS程序,加个函数DebugBreak(). 这个函数也执行一个INT 3.I3HERE 不带参数将显示当前状态.请参见I1HERE.点评:基础信息: INT 3 是断点中断处理例程.也被DEBUGGER们挂接,显示寄存器值,给出一些信息,并等待用户下一步操作. DEBUGGER在下断点时,将断点处的指令替换成INT 3,把替换下的指令保存,在执行完例程后再恢复原先保存的指令,修改堆栈中的断点地址, 使程序得以继续. DOS下的老DEBUG.EXE当遇到程序中的INT 3 指令时会进行同样的操作,也修改堆栈中的断点地址,所以IP又停在那条INT 3 上, 如果你打入 G ,程序将一直停在此处,这时改一下IP就可以了.命令: IDT作用: 显示中断描述符表语法: IDT [interrupt-number]用法:interrupt-number: 所要显示的中断号IDT 命令读取中断描述符表寄存器的值, 获得表基址,然后显示中断描述符表的内容.IDT 命令不带参数将显示所有中断的情况,如果带中断号, 则只显示相应的入口. 输出参数如下:interrupt number: 0-05fh的中断号.interrupt type : 中断类型如下:---------------------CallG32: 32位调用门.CallG16: 16位调用门.TaskG: 任务门.TrapG16: 16位陷肼门.TrapG32: 32位陷肼门.IntG32: 32位中断门.IntG16: 16位中断门.---------------------address : (选择符:偏移量)形式的地址.selector's DPL : 选择符的描述符特权级,0,1,2,3present bit : P 或 NP, 表示该描述符是否在内存中.Owner+Offset : 符号名或拥有者名,和在它们中的偏移.点评: 参见GDT,LDT.命令: LDT作用: 显示局部描述符表语法: LDT [selector]用法:selector: 指定LDT 选择符LDT 命令将显示局部描述符表的内容. SoftICE先读取局部描述符表寄存器的值,再定位描述符表. 如果局部描述符表不存在,会显示一个错误信息. 如果指定选择符,则只显示该选择符所指向的描述符. 如果指定的选择符是一个全局选择符, 则SoftICE将自动显示该全局选择符所指的描述符.输出:LDT 的线性基址和长度将显示在输出数据的顶行输出数据的每一行内容的说明: value: 最低两位即描述符特权级type : 描述符类型,如下:---------------------------Code16 : 16位代码描述符Data16 : 16位数据描述符Code32 : 32位代码描述符Data32 : 32位数据描述符CallG32: 32位调用门描述符CallG16: 16位调用门描述符TaskG32: 32位任务门描述符TaskG16: 16位任务门描述符TrapG32: 32位陷肼门描述符TrapG16: 16位陷肼门描述符IntG32 : 32位中断门描述符IntG16 : 16位中断门描述符Reserved: 保留的描述符---------------------------base : 描述符中的段基址limit : 描述符中的段界限DPL : 描述符特权级,0,1,2,3present bit: P 或 NP 表示该段是否在内存中segment attributes: 段特性:---------------------------RW: 数据段可读写RO: 数据段只读RE: 代码段可读可执行EO: 代码段只可执行B : TSS(任务状态段)忙置位---------------------------点评:这段翻译并不完全用PDF手册上的.如"selector" 原指选择符(器),用来指向描述符表中的描述符,而PDF手册中type 的说明全用到 selector. 说的意思虽是一样,但和别的文献矛盾,故认为不妥,将其翻译成descriptor,即描述符. 实际上可以看出,一个选择符指向一个描述符,两者是一致的. 描述符类型实际上也就是指向它的选择符类型.命令: LHEAP作用: 显示Windows 局部堆语法: LHEAP [selector │ module-name]用法:selector : 局部描述符表数据选择符.module-name: 16位模块名.LHEAP 显示Windows程序在全局堆中申请的数据信息.如果不跟选择符参数,当前的DS 寄存器的内容(数据选择符)被做为缺省值. 用前次说过的HEAP 命令找标有LH 的选择符来做为LHEAP的参数.如果用module-name做参数,则SoftICE 用此模块的缺省数据段进行堆遍历.输出:offset: 16位的偏移量(相对于相应的选择符基址)size : 堆入口(每个组成部分)的字节大小.type : 类型如下:---------------------FIX : 固定的.MOV : 可移动的.FREE: 空闲的.---------------------handle: 相应的句柄.对固定的堆组成部分来说, 此值和offset 相等,且是由 LocalAlloc()返回的.对于可移动的组成部分来说,此值将会被做为LocalLock()的参数.点评: 无.(天气好热!翻译得好累!)命令: LINES作用: 改变SoftICE窗口的显示行数语法: LINES [25 │ 43 │ 50 │ 60]用法:LINES 命令用来改变SoftICE窗口的显示行数. 默认为25行.可以有:25 行;43 行;50 行;60 行;43,50,60行只适用于VGA卡.LINES 不带参数将显示当前行数.如果用 ALTSCR 命令切换显示器输出到单显,SoftICE自动转为25行,再转回VGA卡时要手工用LINES 命令来恢复原值.点评:实际上, 我的 3.20用的是SoftICE自带的通用视频驱动程序,行范围可以从25一直到128 !!(除非为SoftICE开的显存不够)命令: LOCALS作用: 从当前栈中列出局部变量语法: LOCALS用法:输出:Stack Offset : 栈偏移.Type definition: 类型定义.Value,Data,or structure symbol({...}): 值,数据,或结构符号.SoftICE根据局部变量的类型来用不同的形式显示它们,如果是指针,则显示所指向的数据.如果是结构,则显示结构符号.如果既不是指针,又不是结构,则显示本身值.点评: 无命令: M作用: 传送数据语法: M source-address l length dest-address用法:source-address: 源数据的起址;length : 要传送的字节长度;dest-address : 目的数据块的起址.用 M 命令将数据块从源地址传送到目的地址.如M ds:1000 l 2000 es:5000将2000h个字节从DS:1000h传到ES:5000h处.点评: 无命令: MACRO作用: 定义一个宏命令,使之执行一系列SoftICE指令.# 语法: MACRO [ macro-name] ││ [= "macro body"]用法:macro-name: 3-8个字符的宏名,(不区分大小写);macro-body: 用分号隔开的一系列SoftICE指令, 首末加冒号;* : 删除一个或所有的已定义的宏命令;= : 定义(或重定义)一个宏命令.MACRO 命令用于定义SoftICE指令的超集.macro-body可以包含SoftICE的指令,也可包含宏定义,甚至是当前的宏定义本身.(这当然会产生递归调用,如果编得不好的话会产生错误,也没有什么大意思).在这一系列命令之间用分号(;)隔开,最后一个命令后不用加分号.macro-body中还可以带入命令行参数,和DOS命令的%1,%2...一样,合法值在1-8之间.注意一点,macro-body首尾是用冒号的.所以在宏定义体中如果要用到 \, ", %时要在前加一 \,这跟C语言的写法是一致的.macro_name参数用来代表宏名,可以是字母或数字或下划线组成.可以是现有的宏名, 那样的话就会重定义这个宏.宏名不可以和现有的SoftICE内部指令相同.会发生错误.MACRO * 表示删除当前定义的所有(有名字的)宏.(因为断点的DO 子句实际上也是宏, 不过是无名字的,它们不能就这样被删除了!)MACRO mnames * 删除当前名为 mnames 的宏.MACRO mnames 将编辑名为 mnames 的宏, 在编辑过程中可以用ESC键取消改动.一个很有用的例子::MACRO 1shot = "bpx %1 do \"bc bpindex\""用这个宏可以设一个一次性断点,非常方便!点评: 无命令: MAP32作用: 显示当前所有32位模块的内存映象(图).语法: MAP32 [module-name │ module-handle │address]用法:module name : Windows模块名;module handle: 模块的基址;address : 落在可执行模块中的地址.MAP32 不带参数将显示所有的32位模块的信息.加参数将只显示指定模块的信息.输出如下:Owner : 模块名.OBJ Name: 可执行文件的区段名.Obj# : 可执行文件中的区段号.Address : 选择符:偏移量格式的区段地址.Size : 区段的大小(字节)Type : 区段类型:--------------------CODE 代码IDATA 初始化的数据UDATA 未初始化的数据RO 只读RW 读/写SHARED 对象是共享的.--------------------点评: 无命令: MAPV86作用: 显示当前虚拟机的DOS内存映象语法: MAPV86 [address]用法:address : 段:偏移量格式的地址MAPV86 不带参数将显示当前整个虚拟机的内存映象.加参数将显示指定包含所指定地址的内存区域的信息.有时侯DOS VM的页没有切进来,所以会有 "PAGE NOT PRESENT"的出错信息,所以可以再弹出一次.MAPV86 在配合SYMLOC命令时很有用,因为在Windows 启动前装载的程序,Windows不会自动将它们的符号信息映射到V86内存,用MAPV86命令就可以取得它们的代码段,将符号表与之对齐,就可以跟踪调试了.输出如下:VM ID : 虚拟机的ID.VM handle : 32位虚拟机的句柄.CRS pointer: 虚拟机的32位客户登记表的指针.(?)VM address : 32位线性地址.另外,如果SoftICE弹出时CS:IP指向一个MAPV86的入口,那一行的内容将高亮显示.点评: 无命令: MOD作用: 显示Windows模块列表.语法: MOD [partial-name]用法:partial-name: Windows模块名,(可以是开头的若干个字母).MOD 不带参数将显示所有的模块.若加 partial-name,则符合要求的模块将被列出.输出如下:module handle: 16位的句柄.base : 线性基址.pe-header : 选择符:偏移量格式的PE文件头.module name : 模块名.(编程序时在.DEF中用NAME或LIBRARY命名的.)file name : 文件的路径(全名).点评: 无命令: O作用: 向I/O端口输出数据.语法: O[size] port value用法:size : B 字节(缺省值);W 字;D 双字port : 端口地址.value: 要输出字节,字,或双字.O 命令将立即输出到硬件端口(当然那两个21h和A1h要等退出SoftICE窗口时才执行)(?)点评:关于21h和A1端口,二者是关系到中断的, PDF文档在这写得不是很详细.实际操作情况是多种多样的.。
SoftChalk™ LessonBuilder 4User GuideUpdated July 22, 2008ContentsIntroduction _____________________________________________________ 5Help Topics and Resources on the SoftChalk Website ______________________ 6 User Guide (6)Installation Guide (6)Quick Tour Videos (6)Sample Lessons (6)Frequently Asked Questions (7)System Specifications (7)Accessibility Guide (7)Learning Management Systems Integration Guides (8)Training (8)Getting Started ___________________________________________________ 9 Create and Preview a Lesson (9)Open and Back Up a Lesson (11)Rename a Lesson (12)Multi-page Lesson (12)Style a Lesson (13)Sidebars (16)Table of Contents (19)Insert and Remove a Hyperlink (21)Internal Links (Bookmarks) (22)Insert an Image (24)Insert Media (Sound, Animation or Video) (28)Text Annotations (TextPoppers) (31)Spell Checker (32)Find or Replace (32)Updates to LessonBuilder (32)Package a Lesson _________________________________________________ 33 When Would You Package a Lesson (33)Steps to Package a Lesson (33)Open a Packaged Lesson (33)Deliver a Lesson to Your Students ____________________________________ 34 Upload a Lesson into a Learning Management System (LMS) (34)Upload a Lesson to a Web Server (34)Load a Lesson on Computers in Your Classroom (34)Load a Lesson on a CD (35)View Your Students’ Results and Scores _______________________________ 36 Learning Management System (36)Lesson Reporting – Print or E-mail Results (37)Lesson Reporting – ScoreTracker (39)View Student Scores in the ScoreTracker (41)QuizPoppers _____________________________________________________ 45 Overview (45)Insert a QuizPopper (46)Modify or Remove a QuizPopper (46)QuizPopper Feedback Tab (46)QuizPopper Hint Tab (47)QuizPopper Options Tab (47)True/False (48)Multiple Choice (49)Multiple Answer (50)Short Answer (51)Matching (52)Ordering (53)Activities _______________________________________________________ 54 Overview (54)Add Images to Activities (55)Insert an Activity (55)Modify or Remove an Activity (55)Activity Options Tab (56)Import and Export Text Lists (57)Crossword Activity (59)DragNDrop Activity (60)Flash Card Activity (61)Hot Spot Activity – Explore Mode (64)Hot Spot Activity – Quiz Mode (68)Labeling Activity (69)Ordering Activity (71)Seek A Word Activity (72)Slideshow Activity (73)Sorting Activity (76)Timeline Activity (78)Differences between QuizPoppers and Activities _________________________ 81 Major Differences between QuizPoppers and Activities (81)Ordering QuizPopper versus Ordering Activity (81)Matching QuizPopper versus DragNDrop Activity (82)StyleBuilder _____________________________________________________ 83 Create a Personal Style (83)Apply a Personal Style to Your Lesson (91)Create a Personal Style from a Template (91)Export a Style Using StyleBuilder (91)Import a Style Using StyleBuilder (92)Tables _________________________________________________________ 93 Create a Table (93)Accessibility (94)Insert or Delete Rows and Columns (94)Modify or Delete a Table (94)Make a Header Row (94)Insert Menu (95)Copy and Paste a Table from Word (95)Foreign Languages ________________________________________________ 96 Overview (96)Output Languages – Chinese, English, French, Spanish and Russian (96)Math ___________________________________________________________ 97 Overview (97)Math and QuizPoppers (97)Math and Activities (97)Help ___________________________________________________________ 98 Copyright Information _____________________________________________ 98IntroductionWelcome, to SoftChalk LessonBuilder, the award-winning software that lets youcreate engaging web lessons quickly and easily. You can style your lesson for aprofessional look. You can add many activities and quizzes that promote activelearning.You create your lessons using LessonBuilder, which is a desktop application that runs on both Windows and Macintosh computers. Your students can view your lessonusing any standard web browser such as Internet Explorer, Firefox and Safari.Your students can learn your content through a variety of activities and quizzesincluding:•Matching•Image labeling•Timeline•Flash cards•Ordering•Slide show•Crossword puzzle•Multiple Choice and True/FalseYou can deliver your lessons to your students in several different ways:•Upload your lessons into a Learning Management System (LMS) such as Blackboard (Academic, Campus Edition or Vista), Angel, Desire2Learn orMoodle•Upload your lessons to a web server•Load your lessons on computers in your classroom for student practice or for your lectures•Load your lessons onto a CDIf you don’t have LessonBuilder already, you can download a free trial version at: /lb_trial.htmlHelp Topics and Resources on the SoftChalk WebsiteUser GuideYou can access this SoftChalk LessonBuilder 4 User Guide within LessonBuilder.Choose Help/Help Topics/User Guide.You can also access the User Guide at:/support.htmlWithin the User Guide you can use Find (Ctrl+F) to search for information. Installation GuidePlease see the SoftChalk LessonBuilder 4 Installation Guide at:/support.htmlQuick Tour VideosOur Quick Tour Videos demonstrate various features of LessonBuilder. Each video (ina .swf format) is from one to five minutes long. You can access these videos withinLessonBuilder if you’re online. Choose Help/Help Topics/Quick Tour Videos(online).You can also access the videos at:/lb_viewDemo.htmlSample LessonsTo explore your possibilities with LessonBuilder, you may want to view our SampleLessons on our website. You can access these lessons within LessonBuilder if you’re online. Choose Help/Help Topics/Sample Lessons (online).You can also access the Sample Lessons at:/lb_examples.htmlYou are welcome to download and modify these lessons for your own use.Frequently Asked QuestionsFor a quick answer to a question, you may want to view our Frequently AskedQuestions on our website. You can access these questions within LessonBuilder ifyou’re online. Choose Help/Help Topics/FAQ (online).You can also access the Frequently Asked Questions at:/faqSystem SpecificationsLessonBuilder may be installed on Windows and Macintosh computers. Students can view the lessons with all the major web browsers including Internet Explorer, Firefox and Safari. For more details, see System Specifications at:/lb_requirements.htmlAccessibility GuideLessonBuilder complies with accessibility standards such as alt tags for images,cascading style sheets and skip navigation features. For more details, see ourSoftChalk LessonBuilder Accessibility Compliance guide at:/lb_standards.htmlLearning Management Systems Integration Guides If you have one of the following:•Angel•Blackboard Academic•Blackboard Campus Edition (formerly WebCT)•Blackboard Vista (formerly WebCT)•Desire2Learn or•Moodleyou can find an integration guide on our website at:/support.htmlTrainingYou can find a schedule of live-online training opportunities at:/training.htmlGetting StartedCreate and Preview a LessonWhen you start LessonBuilder, you are automatically on a new, untitled lesson. You can type in this main editing window or copy and paste text and images from your word processor or other programs.Top MenuNotice the top menu with File, Edit etc. In this guide, when you need to use this menu, the instructions will have the name of the item on the top menu followed by the item underneath it. Ex. File/Save .ToolbarNotice the toolbar under the top menu with the standard word processingfunctions such as:•Changing the font and font size •Bold, italics, underline, text color and highlight color •Text indentation and alignment • Bullets and NumberingIt also has the following items: Insert or Modify an Image – brings up the insertimage menuInsert or Modify a Hyperlink – brings up the inserthyperlink menuHeadings – apply headings, which will be used fornavigating sections in a page. For details, see thesection Style a Lesson .(You can’t use headings for TextPoppers, QuizPoppers, Activities, Hyperlinks or Media.)SaveYou can save your lesson in one of three ways:1.File/Save2.Ctrl+S3.Click the Save icon on the toolbar at the top (see below).IMPORTANT: For a lesson name, you can use only letters, numbers, dashes and underscores. You cannot use spaces, apostrophes or charactersthat are not letters, numbers, dashes or underscores.When you save your lesson, it becomes a folder with various files init. Fortunately, you don’t need to know the function of each file; just thatyour lesson is a folder with files in it. Later in this guide, you’ll learn how topackage and deliver your lesson.You may want to avoid the File/Save As command unless you want torename your lesson.IMPORTANT: If you have inserted a file from your local computer into your lesson such as an image, LessonBuilder automatically places a copy ofthe inserted file into your lesson folder.PreviewAt any time while you are working on your lesson, you may preview it to see how it would look to your students in their web browser.You can preview your lesson in one of three ways:1.Preview/View in Browser2.Ctrl+P3.Click the Preview icon on the toolbar at the top (see below).Open and Back Up a LessonOpenChoose File/Open. Locate your folder and double-click on it. WithinLessonBuilder, you can double-click on any .html file to open your lesson.IMPORTANT: Avoid using File/Open Packaged Lesson unless you’reopening a packaged lesson. For details, see the section Package a Lesson.Open RecentChoose File/Open Recent and select your lesson from the dropdown list atthe right (see below).Notice that for your most recent lesson, you can use Ctrl+T.Back Up Your LessonTo back up your lesson, copy and paste your lesson folder onto anotherphysical media such as a thumb drive or a server.Or if you have a lesson with a large file size, you may want to package thelesson as a zip file and then back up the zip file. See the instructions below.1.Choose File/Package Lesson/Zip Format.2.Notice from the message window that your file is packaged with yourlesson name and a .zip extension. This zip file is located withinyour lesson folder (see below).3.Copy this zip file onto a thumb drive or server.Rename a LessonThe recommended way to rename a lesson is to open LessonBuilder and chooseSave As (see the steps below). (We don’t recommend copying and pasting yourfolder and renaming it as there may be confusion when using File/Open Recent.)1.Within LessonBuilder, open your lesson (File/Open or File/Open Recent.)2.Choose File/Save As.3.Type a new name for your lesson and click Save.Multi-page LessonTo create multi-page lessons, you insert page breaks to create your pages. Fordetails on navigating among your pages in your web browser, see the section Style a Lesson.Insert a Page Break1.Place your cursor where you want a page to begin.2.Choose Insert/Page Break/Insert(or Ctrl+Enter or right-click and choose Page Break)You can see a blue dotted blue line representing your page break (see below).Remove a Page Break1.Right-click on the page break.2.Choose Remove Page Break (see below).Style a LessonWithout a style, your lesson looks similar in a web browser to the way it looks in LessonBuilder. There is no header or footer. There are no sidebars; there are just navigation links (previous page | next page) at the bottom of a page.When you attach a style to your lesson, your lesson automatically acquires aprofessional appearance with a header (also referred to as a banner), footer,navigation bar and options for sidebars.Attach a Style1.Choose Properties/Style Properties.2.Click on a style at the right. Notice that you can scroll down to vieweven more styles. (To learn how to create your own style, see thesection Style Builder.)3.Click OK.If you preview your lesson at this point, you’ll see a header with no text, afooter with some default text and a navigation bar at the top if you haveinserted some page breaks. (These “style” items don’t appear when you’relooking at your lesson in LessonBuilder.)You can add more options to your lesson (see below).Set Options for Your Style1.Choose Properties/Style Properties.2.Click the Title & Layout tab (see below).Options on the Title & Layout tab•Lesson Title: The Lesson Title and Subtitle appear in the header in a web browser.•Footer: Right-click within the Footer Text area and notice that you can add a Hyperlink or special characters (see below). Like the header, the footer willappear when viewing the lesson in a web browser.•Sidebar Layout: You can have several sidebars for your lesson. The “On This Page” sidebar is explained on the next page. You can create othersidebars by choosing Properties/Sidebars. For details, see the sectionSidebars.•Table of Contents: For details on setting up a Table of Contents, see the section Table of Contents.•Navigation:•Arrows – When selected, the Prev (Previous) and Next arrows appear in the navigation bar at the top in the web browser.•Page Numbers - When selected, numbers for the pages appear in the navigation bar at the top in the web browser. (See the navigation barbelow where the Arrows and Page Numbers options are selected.)•“On This Page” sidebar - When selected, a sidebar appears in the web browser with links to the headings (Page headings, Sub-Heading1, Sub-Heading 2) on the page (see below).•Print all pages: When selected, a print all button appears (see above), allowing your students to print all the pages of your lesson. (This feature does not include printing the TextPoppers, QuizPoppers or Activities.)SidebarsBesides the “On This Page” sidebar discussed in the previous section Style aLesson, you can add other sidebars to your lesson. The only difference in thefunctionality among the Handouts, Learn More, More Resources and Text Only sidebars is the title for the sidebar. (You can put your own title in the Text Onlysidebar.)As you add sidebars, you won’t see the sidebars within your main editing window.You will see them when previewing the lesson in the web browser.Create a Sidebar1.Choose Properties/Sidebars and select a sidebar (see below).2.Type or paste text into the white box.Add a HyperlinkSelect some text and right-click to bring up the Hyperlink insert menu.Put the Sidebar on All Pages1.Click Copy to All Pages.2.Click OK at the message window.3.Click OK to return to your main editing window.Remove the Sidebar from All Pages1.Click Clear Text.2.Click Copy to All Pages.3.Click OK at the message window.4.Click OK to return to your main editing window.Put the Sidebar on a Specific Page1.Choose Properties/Sidebars and select a sidebar.2.Select a page from the For Page dropdown menu.3.Type or paste text into the white box.4.Click OK to return to your main editing window.Modify the Sidebar for a Specific Page1.Choose Properties/Sidebars and select a sidebar.2.Select a page from the For Page dropdown menu.3.Edit the text into the white box.4.Click OK to return to your main editing window.How Removing a Page Break Affects SidebarsIMPORTANT: Let’s say you have a lesson with three pages and a Learn More sidebar with different content for each page. If you remove the page breakbetween page two and page three, you have a two page lesson.LessonBuilder keeps the sidebar content for pages one and two and deletesthe sidebar content that was on page three.Table of ContentsCreate a Table of ContentsFirst you need to create:1.Pages in your lesson (Insert/Page Break).2.(Optional) Headings within a page (e.g. Page Heading, Sub-Heading 1 andSub-Heading 2) using the dropdown menu on the toolbar.Set the Location of Your Table of Contents1.Choose Properties/Style Properties.2.Click the Title & Layout tab (see below). Make selections and click OK.Entry page (in the web browser)Rollover menu in a sidebar (in the web browser)Dropdown menu at top of page (in the web browser)Create Page Names1.Choose Properties/Page Names.2.Type your page names.View the Page NamesBelow are the page names as they appear on the entry page of your lesson.Insert and Remove a Hyperlink1.Select some text.2.Choose Insert/Hyperlink (or right-click and choose Hyperlink).3.Within the URL or Selected File box, use Ctrl+V to paste your URL.4.It’s a good idea to select Open the link in a new window if you’re going toanother website. Otherwise, your students may leave your lesson and nevercome back.5.To remove a hyperlink, right-click on the hyperlink and choose ModifyHyperlink. Then click Remove and OK to return to your main editingwindow.Internal Links (Bookmarks)You can create a link from one part of your lesson to another. For instance, you may be on page 5 of your lesson and want to reference information on page 2. In thiscase, you create a bookmark on page 2 and then insert a hyperlink to that bookmark on page 5. See the steps below for details.Insert a Bookmark1.Click where you want your bookmark to go. (If you select text, thebookmark will be placed before the first character of your selectedtext.)2.Choose Insert/Bookmark (or right-click and choose Bookmark).3.Type a name for your bookmark (see below).4.Click OK to return to your main editing window.5.Notice the bookmark icon in your lesson.Link to a Bookmark1.Select some text.2.Choose Insert/Hyperlink (or right-click and choose Hyperlink.)3.Select Choose Bookmark.4.From the dropdown menu, select your bookmark (see below).5.Click OK to return to your main editing window.Modify or Remove a Bookmark1.Right-click on the bookmark icon.2.Choose Modify Bookmark or Remove Bookmark (see below).Insert an ImageIMPORTANT: When you insert an image, a copy of the image is placed in yourlesson folder when you save. Your original image remains in its original location. Ifyou modify the original image, you’ll need to re-insert the image.1.Click within your lesson to put your insertion point where you want yourimage.2.Choose Insert/Image (or right-click and choose Image).3.Click Select image.4.Select your image file.5.Click Select.6.At the screen below, you have several options. You can change the alignment,border and dimensions. You can also add text for accessibility.For this inserted image, notice that the red dot Not recommended indicatesthat your image file size is very large. (The file size is 1207 KB.)IMPORTANT: Too many images with large file sizes in your lesson maycause your pages to load slowly in the web browser. See the next page to seehow to reduce your image size.Reduce Your Image SizeIf you click Optimize Image on the previous screen, notice the changesbelow:The green dot Good appears now. (For images over 800 by 800, the imagedimensions will be reduced proportionally if you click Optimize Image.)Incidentally, your original image outside your lesson folder remainsunchanged when you click Optimize Image.Notice that this image is still somewhat large (164 KB and 800 by 600 pixels).If you have a lot of images in a lesson, you may want to use an image editing program [such as Photoshop or Irfanview ( – freeprogram)] to reduce the size and/or dimensions of your image even more. Image File TypesYou can insert a file that is a .jpg, jpeg, .gif, .png or a .bmp. (If you insert a.bmp file, it will get converted to a .png file type.) You can’t insert a .tif file. Accessibility ItemsComplete the Alternative text and Long Description text boxes.Re-size an Image within the Main Editing Window1.Within your main editing window, click on your image to select it.2.Drag a corner square handle to re-size it proportionally.IMPORTANT: When you re-size an image in the main editing window, the re-sizing affects the presentation of the image but not the actual file size.Wrap Text around an Image1.Within your main editing window, click at the beginning of aparagraph.2.Choose Insert/Image (or right-click and choose Image).3.Click Select image.4.Select your image file.5.Click Select.6.For Align, select left.7.Click OK to return to your main editing window.Remove an Image1.Within your main editing window, right-click on an image.2.Choose Modify Image.3.Click Remove.4.Click OK to return to your main editing window.IMPORTANT: When you remove an image, the file remains in your lesson folder. Delete the file from within your lesson folder. If you plan to reinsert the file, then don’t worry about deleting it from your lesson folder.Insert Media (Sound, Animation or Video)You can insert various types of media into your lesson.1.Choose Insert/Media (or right-click and choose Media).2.Select the File Type (Audio, Video, etc.).3.Click Select file to select your file (see the table below for supportedformats).Media FormatsFile Type Formats SupportedAudio aiff, au, mid, midi, mp3, ra, ram, rmf, wav, wmaVideo avi, mpeg, mpg, mov, wmvFlash swfShockwave dcrWeb Movie swfLinked fileNotice the following scenario. You insert an audio file with the Linked fileoption selected. When you preview your lesson in your web browser and click on the media icon in your lesson, a separate window pops up with controls for you to play the sound (see below).Why would you want to use the Linked file option rather than Inline player (see below)? If you have a lot of media on your lesson page, use theLinked file option. (The Inline player option causes the page to load more slowly.)Inline playerIf you select the Inline player option, then the player controls appearautomatically in your web browser (see below).You may need to enter values for the width and height for the inline playeroption if you insert a video, flash or shockwave file type.Link to a Media File Using the File Path, URL or Web Movie Rather than select a file on your local computer, you can link to a media fileon the web. Copy and paste (Ctrl+V) a URL in the box below.Link to a YouTube Movie1.Go to the YouTube site () and find your movie.2.Find the Embed Code and copy it.3.Within LessonBuilder, choose Insert/Media.4.Select Web movie as the File Type.5.Paste the Embed Code (right-click and choose Paste or use Ctrl+V)into the File Path, URL, or Web Movie text box.Text Annotations (TextPoppers)You can create text annotations using the TextPopper feature. Within the webbrowser when you move your cursor over a highlighted word, a text annotation“pops up” with additional information (see below). You can’t copy and pasteTextPoppers; however you can cut and paste a TextPopper within the same lesson.Create a TextPoppper1.In your main editing window, select some text.2.Choose Insert/TextPopper (or right-click on your selected text andchoose TextPopper).3.Type or paste text in the top and bottom areas (see below).4.Notice the Stickaround option. Selecting this option lets theTextPopper stay on the screen until you click Close. (Otherwise, theTextPopper goes away when you move your cursor away from theannotated text.)5.Click OK to return to your main editing window.6.Notice in your main editing window that the annotated text is now boldand has the color of your lesson style.Create a TextPopper with an Image, Hyperlink or Media1.Follow the previous instructions for creating a TextPopper.2.When entering information in the top or bottom area, right-click andselect Image, Hyperlink or Media.e the instructions given earlier in this guide for inserting an image,hyperlink or media.4.Select the Stickaround option for the TextPopper.5.If you have inserted a wide image, you may want to make theminimum width of your TextPopper 400 or 600.6.Click OK to return to your main editing window.Modify or Remove a TextPopperRight-click on the TextPopper and choose Modify TextPopper or RemoveTextPopper.Spell CheckerYou can run a spell checker for the content in your main editing window (but not in TextPoppers, QuizPoppers or Activities). Choose Tools/Check Spelling.Find or ReplaceAs with the Spell Checker, these features work in your main editing window (but not in TextPoppers, QuizPoppers or Activities). Choose Edit/Find or Edit/Replace. Updates to LessonBuilderIf you’re connected to the Internet, you will get a notice if there are updates toLessonBuilder (see below). You can choose Update or Skip. If you skip, you will get the notice again when you’re connected to the Internet and you open LessonBuilder.Typically, updates install within a few minutes.Package a LessonWhen Would You Package a LessonYou may need to package a lesson if you use a Learning Management System. See our website (/support.html) for integration guides for LearningManagement Systems.You may also want to package a lesson if you back it up on a thumb drive or other location.You may want to package a lesson if you collaborate with another instructor on alesson. You can send a packaged lesson (zip file) via e-mail (provided the lesson is not too large).Steps to Package a Lesson1.Choose File/Package Lesson/Zip Format. (SCORM 1.2 and SCORM 2004apply to Learning Management Systems – see the integration guidesmentioned above.)2.Notice from the message window that your file is packaged with your lessonname with a .zip extension. This zip file is located within your lessonfolder. Notice the eye_anatomy.zip file in the image below.3.Then open up your e-mail program and attach this zip file to an e-mail. Orcopy this zip file to a thumb drive or a server.Open a Packaged Lesson1.Choose Open Packaged Lesson.2.Select the zip file.3.Click Open.4.Notice that LessonBuilder creates a lesson folder in the same directoryas the zip file (see below). As you work on the lesson, your information issaved in the eye_anatomy folder (not in the eye_anatomy.zip folder).Deliver a Lesson to Your StudentsUpload a Lesson into a Learning Management System (LMS) See our website (/support.html) for integration guides for thefollowing Learning Management Systems:•Angel•Blackboard Academic System•Blackboard Campus Edition (formerly WebCT)•Blackboard Vista (formerly WebCT)•Desire2Learn or•MoodleUpload a Lesson to a Web ServerUse an FTP program to upload your lesson folder to a web server. (If you’re not sure how to upload files, contact your local technical support person for help.)Once your lesson folder is uploaded, have your students link to the index.html file within your lesson folder.Load a Lesson on Computers in Your ClassroomCopy your lesson folder onto a computer in your classroom. Open your lesson folder and create a shortcut to the index.html file. (Right-click on index.html and chooseCreate Shortcut.) Put this shortcut on the desktop.You can also use your lesson as part of your lecture.。
SoftICE for WIN95中文命令解说(五)Copyright (c) 1999info.net/~tianwei命令: DATA作用: 显示另一个数据窗口语法: DATA [window-number]用法: window-number: 所要选择的窗口号,0,1,2,3SoftICE最多支持4个数据窗口.每一个窗口可以独立按自己的格式显示数据. 但同一时刻只能显示一个窗口.如果用DATA窗口不带任何参数, 将按0,1,2,3的次序显示各个窗口中的内容.在数据窗口的右上角的横线上有窗口序号的提示.点评: 可以很方便地对多个目标的进行观察命令: DEX作用:在数据窗口中显示(或赋予)某个表达式语法:DEX [data-window-number[expression]]用法: data-window-number: 即DATA 命令中所讲的0,1,2,3号数据窗口DEX 命令可以为每一个数据窗口赋予一个表达式,每次SoftICE弹出该表达式就被重新计算, 并显示在相应的数据窗口中.这对某些指针非常有用. 指针可以放在寄存器中或是在内存变量中,如下二例:DEX 0 SS:ESP 每次SoftICE弹出, 就在0号数据窗口中显示堆栈的值DEX 1 @pointervariable 每次SoftICE弹出, 就在1号窗口中显示由pointervariable指针所指的内存单元的内容.(@ 操作符后有论述).用DEX不带参数将显示当前在各个数据窗口中所赋予的表达式. 用DEXdata-window-number(不跟表达式)将取消前次赋予窗口的表达式.点评: 相当于自动化的D命令.命令: DIAL作用: 将控制台重定向到MODEM语法: DIAL [on [ com-port] [ baud-rate] [i=init-string] [p=number] | off]用法: COM-PORT : 串行通讯口,默认为COM1BAUD-RATE: 1200,2400,4800,9600, 19200, 23040,28800,38400(默认),57000,115000I=INIT : MODEM的初始化字符串.p=number : 电话号码DIAL 命令通过拨号与远程电脑取得联系, 远程电脑必需正在运行SERIAL.EXE且在等待对方拨号.一旦联接完成,SoftICE的的输入将来自远程计算机,输出也重定向到远程计算机.本地计算机除了激活的热键外不接收其他对SoftICE的输入.当远程机结束调试后,用DIAL OFF来挂断MODEM.点评: 前次的ANSWER命令是等远程机拨号过来,而DIAL是拨过去.有机会试一下这两个命令就好了.命令: E作用: 修改内存单元语法:E[size] [address[data-list]]用法: size : B 字节;W 字;D 双字;S 短实型;L 长实型;T 10字节的实型data-list: 要修改的值,(和size类型一致) 可用单引号或双引号来输入字符串.如果键入没有data-list参数的E 命令, 光标将切换到数据窗口并定位到所指定的内存单元,等待使用者相应的操作.如果加跟data-list参数,则内存单元立刻被修改为所指定的值.数据窗口当前如果不可见, 则键入E命令将使之可见.在修改中可以用TAB键在ASCII与十六进制方式之间切换.点评: 无命令: EC作用: 进入或退出代码窗口语法: EC用法: EC 命令使得光标在代码窗口和命令窗口之间切换. 如果代码窗口当前不可见,则键入EC 命令后将自动可见当光标在代码窗口中时,使用者可以利用 SoftICE的几项快捷功能:1.可以在光标处设断点,直接打BPX不跟地址,更方便的是按F9快捷键,再执行一遍将清除当前所在的断点2.可以用HERE 命令来设个临时断点, 所谓临时断点好象DEBUG中的G命令,也可用F7快捷键来实现.3.在代码窗口中时,也可用上下光标键,PageUp,PageDn来翻页,上下浏览.另外,当用户调试源文件时,可以用:Ctrl+Home , 到源程序的第一行Ctrl+End , 到源程序的最后一行Ctrl+左右光标, 水平察看源程序点评: 实际上可以用Ctrl+光标,Ctrl+PgUp,Ctrl+PgDn来直接翻页命令: EXIT作用:强行退出DOS程序或WINDOWS程序语法: EXIT用法: 这个命令在PDF手册中说95已经不被支持, 实际上还是有用的. 特别是当开个DOS VM 跑时,用EXIT退出还是偶尔会用到.EXIT实际上是强行执行一个INT 21h AH==4C所以在DOS VM和保护模式的ring3还是有可能正常退出.只是有可能而已.点评: 在WIN95(Protected)下除非你很肯定, 否则不要用EXIT.一不小心,你的机器将会死得很难看!命令: EXP作用: 显示DLL中的出口函数语法: EXP[[module!][partial-name]] | [!]用法:module! : 对所指定的模块列出出口函数(注意要加 ! 惊叹号) partial-name: 指定出口函数的前几个字符, 可以用?来做替代不定字符. (注意要跟紧前面的module!) ! : 只跟! 表示列出SoftICE当前已加载出口函数表的模块.WIN95中SoftICE自动加载KERNEL,USER,GDI的出口函数表.你也可以通过WINICE.DAT 或SoftICE 的LOADER (加载器)来加载更多的出口函数列表.点评: 比较常用的DLLs,DRVs都在WINICE.DAT中有了, 用户只要修改为相应的路径就能每次开机自动带入.这样带来的好处是:1.可以在反汇编时直接看到调用接口.2.可以直接在函数上下断点命令: F作用: 填充某一块内存区域语法: F address l length data-list用法: length : 字节长度data-list: 所要填的数据. 可以是用单引号或双引号括起来的字符串执行 F 命令将向所指定的内存区域填充length 长度的数据,如果数据不够长度,将重复数据,直到达到长度为止.点评: 无。
SoftICE for WIN95中文命令解说(六)Copyright (c) 1999/~tianwei命令: FAULTS作用: 打开或关闭错误跟踪功能语法: FAULTS [on | off]用法: FAULTS 命令将打开或关闭SoftICE的错误跟踪功能.不加参数将显示当前的开关状态.点评: 由于SoftICE做为一个DEBUGGER,FAULTS 默认为ON, 所以一旦CPU有非法指令,SoftICE就会不停地弹出, 让你知道错在哪里,实际在工作中这样的情况如果太频繁地发生,最好将其置为OFF.我一般将其置为ON, 当发生非法指令时再手工置为OFF.你也可以在WINICE.DAT 中一开始就置其为OFF. 初学者一般不知道有这个命令, 一旦发生非法指令,除了按R键,只有傻站着;)命令: FILE作用: 显示或切换当前源文件语法: FILE [[*]file-name]用法: FILE 命令常用来辅助在源文件中没有符号表的地方下断点. 用FILE命令将所需的源文件显示在代码窗口中,用SS 命令查找一下,再用BPX 或F9来下断点.如果加文件名参数,则所选的文件变成当前文件, 并被显示在代码窗口中. 如果没有文件名参数,则显示当前的源文件(如果当前有的话).如果加 * ,则列出当前符号表中所有源文件. 在WIN95中,用FILE 加文件名同时也切换内存地址内容.点评: 一般用于高级编程工具的辅助调试,如C语言等.不过这些编程工具已经内置DEBUGGER,所以就看个人习惯了.命令: FKEY作用: 显示或修改当前快捷键定义语法: FKEY [function-key string]用法: function-key: 快捷键:F1 - F12 :SF1 - SF12 : Shift键加F1 - F12CF1 - CF12 : Ctrl键加F1 - F12AF1 - AF12 : Alt键加F1 - F12 string : 一个或多个SoftICE的命令.命令前加 ^ 表示在按快捷键时不显示相应的命令内容.命令后加;代表回车.FKEY 后只跟function-key,而不跟string,将取消该快捷定义.除了用FKEY命令可以定义快捷键外,用SoftICE的LOADER也能做到这一点默认快捷键清单:F1=h; F2=^wr;F3=^src; F4=^rs;F5=^x; F6=^ec;F7=^here; F8=^t;F9=^bpx; F10=^p;F11=^G @SS:ESP; F12=^p ret; SF3=^format; CF8=^XT;CF9=TRACE OFF; CF10=^XP;CF11=SHOW B; CF12=TRACEB;AF1=^wr; AF2=^wd;AF3=^wc; AF4=^ww;AF5=CLS; AF8=^XT R;AF11=^dd dataaddr->0;AF12=^dd dataaddr->4;CF1=altscr off; lines 60; wc32; wd 8;CF2=^wr;^wd;^wc;点评: 无命令: FLASH作用:在 P 和 T 命令执行过程中刷新Windows 屏幕语法: FLASH [on | off]用法: 如果将FLASH 置为 ON ,则在执行T或P命令时,SoftICE将刷新一下Windows 屏幕,这在调试一个直接对显存操作的程序时特别有用.在一般情况下,当用 P 命令跨过一个CALL 时,而此 CALL 又调用显示驱动程序时,Sof-tICE才重新刷新屏幕.FLASH 命令不带参数将显示当前状态.默认FLASH OFF.点评: 无命令: FORMAT作用: 改变数据窗口的显示格式语法: FORMAT用法: FORMAT 命令用来改变数据窗口的显示格式.SoftICE有快捷键 Shift-F3 来代替FORMAT.显示格式将按字节,字,双字,短实型,长实型,10字节实型循环.点评: 参见 D, DATA 命令.命令: G作用: 执行到某一地址语法:G [=start-address][break-address]用法: =start-address: 开始地址break-address : 中断地址G 命令不带参数将从SoftICE 中返回.如果带参数break- address,则SoftICE将在所指定的地址处下一个一次性断点; 如果带=start-address,SoftICE 将从指定的地址处开始执行,否则从当前CS:EIP处执行. 程序中其他的断点(非G命令下的断点)照样起作用. 无论是谁先弹出,都将清除G 命令所下的一次性断点.G 命令不带参数类似于 X 命令.G 命令在Windows95中使用除错寄存器, 如果除错寄存器用完,则用INT 3.点评: 由于G 命令缺省用DRx,所以有时可以对付一些在INT 3上作手脚的程序.命令: GDT作用: 显示全局描述符表语法: GDT [selector]用法: selector: 指定GDT选择器GDT 命令将显示全局描述符表的内容.如果加选择符参数,则只显示此选择符所指的描述符.输出:GDT 的线性基址和长度将显示在输出数据的顶行输出数据的每一行内容的说明: value: 最低两位即描述符特权级type : 描述符类型,如下:Code16 : 16位代码描述符Data16 : 16位数据描述符Code32 : 32位代码描述符Data32 : 32位数据描述符LDT : 局部描述符表描述符TSS32 : 32位任务状态段描述符TSS16 : 16位任务状态段描述符CallG32: 32位调用门描述符CallG16: 16位调用门描述符TaskG32: 32位任务门描述符TaskG16: 16位任务门描述符TrapG32: 32位陷肼门描述符TrapG16: 16位陷肼门描述符IntG32 : 32位中断门描述符IntG16 : 16位中断门描述符Reserved: 保留的描述符base : 描述符中的段基址limit: 描述符中的段界限DPL : 描述符特权级,0,1,2,3 present bit: P 或 NP 表示该段是否在内存中segment attributes: 段特性: RW: 数据段可读写RO: 数据段只读RE: 代码段可读可执行 EO: 代码段只可执行B: TSS(任务状态段)忙置位ED: 数据扩展方式参见 LDT.点评: 这段翻译并不完全用PDF手册上的.如"selector" 原指选择符(器),用来指向描述符表中的描述符, 而 PDF中type 的说明全用到 selector 说的意思虽是一样,但和别的文献矛盾,故认为不妥,将其翻译成descriptor 即描述符.实际上可以看出,一个选择符指向一个描述符,两者是一致的.描述符类型实际上也就是指向它的选择符类型.命令: GENINT作用: 强行产生一个中断语法:GENINT [nmi | int1 | int3 |interrupt-number]用法:interrupt-number: 对Windows95来说,0-5fhGENINT强行产生一个中断,用于SoftICE和别的DEBUGGER协作的时侯,如:GENINT nmi 将使SoftICE将控制返还给CodeView For Dos.(对其他DEBUGGER,请尝试0,1,2,3)GENINT还用于测试中断例程.但SoftICE不检测一个中断是否有效,它只是摹拟中断的产生,所以当用此命令时要注意相应的中断例程是否存在. 点评: 无。
全数字化逆变式气体保护焊机控制软件用户说明书全数字化逆变式气体保护焊机控制软件是基于美国TI 公司高性能数字信号处理器TMS320LF2407A 开发的数字化逆变焊机的控制软件,实现了逆变式气保焊机的全数字化控制。
在国内和国际同行业都具有领先的设计思想。
该控制软件具有丰富的功能,可靠的性能。
以下为该软件的主要功能使用说明:一、该控制软件设置了气体保护焊机的控制功能和辅助的药皮手工焊功能,可根据用户在操作界面的选择,输出不同的焊接输出特性。
(1) 药皮手工焊(2) 气保焊(C02、MIG 、TIG )每种功能都具有很多可调参数,用户既可以采用系统默认的参数非常方便地设置焊机,也可以根据不同的焊接要求精细地调整焊机,使之达到最佳的焊接效果。
在选择焊机方式时,软件系统设计了逻辑加密锁,根据用户的定制要求,可以在控制软件中解锁某些焊接方式的使用权限。
从而为生产带来方便,只要下载更新不同版本的软件,就可以完成生成不同功能的焊机,而无需在硬件电路中作更多的改动或焊接设备库存。
该控制软件有效的节约了焊接设备的库存、提高生产率。
二、该软件具有良好的用户操作界面,用户可以通过操作界面方便的了解焊机的各项功能和使用说明。
很快可以学会焊机的操作方法。
也可以方便的设定焊接参数,存储和调用焊机的专家库数据,清晰的显示焊接电压和电流数据方便焊接参数的观察和设定。
该控制软件使用LCD 液晶显示器作为用户和焊机的接口界面,红色LED 数码管显示器作为焊机的工作电流和工作电压的显示界面。
面板布局如下图1示:按键符号定义表:,“”增加键,用“+”表示 ,“”减少键,用“-”表示 ,“”退出键,用“ESC ”表示 ,“”确认键,用“OK ”表示,“”上移键,用“↑”表示 ,“”下移键,用“↓”表示7,“ ” 菜单光标图1 表1采用了包括汉字在内的六种语言文字可选的菜单进行操作,方便、快捷、直观。
通过面板组合按键的操作,用户可以完成控制软件提供的丰富的功能,其主要操作如下:打开焊机后部的自动空气开关,焊机得电,系统上电复位,初始化DSP 处理器,初始化LCD 液晶显示器,初始化系统设定变量、寄存器及相关标志位,并读取内部存储器数据,更新LCD 及LED 显示数据。
有关SoftICE的详细操作指导教程时间:2009-08-19 14:05来源:未知作者:编辑 B 点击:2538次一命令: . 作用: 在代码窗口中定位当前指令语法: . 用法: 当代码窗口可见时, . 命令(点命令)使得当前的CS:EIP所指向的指令可见, 并且高亮显示. 另外,此命令也把SoftICE 从其他内存区域中切回原先弹出的内存区域.详见后面的ADDR命令. 点评: 当你在代码窗口一命令: .作用: 在代码窗口中定位当前指令语法: .用法: 当代码窗口可见时, .命令(点命令)使得当前的CS:EIP所指向的指令可见, 并且高亮显示. 另外,此命令也把SoftICE 从其他内存区域中切回原先弹出的内存区域.详见后面的ADDR命令.点评:当你在代码窗口中上下浏览时,有可能走得很远, 那么这时一个"." 命令会让你在下一瞬间回到SOFTICE当前所在的CS:EIP处,再也用不着按PGUP,PGDOWN很多次了!命令: ?作用: 计算一个表达式的值语法: ? 表达式用法:计算一个表达式的值.并以十六进制,十进制,带符号的十进制(<0时有)和ASCII值多种形式显示计算结果.点评:一个非常高级的计算器, 诸如46578*1999+ESI 之类的计算不会再让你烦恼,另外由于可以显示ASCII,所以可以很方便地在各种数制之间察看.命令: A作用: 写入汇编代码语法: A [地址]用法:用SICE内置的汇编器在内存中写入汇编代码.汇编器支持标准的80x86指令集.包括386,486,Pentium,Pentium-Pro,MMX,协处理器,新版的SICE还支持AMD的3D Now!,PII,PIII的特有指令集.汇编将在A后的地址处开始.如果在A后没有加地址, 那么汇编将在你上次汇编结束处开始.如果你是第一次键入A命令,且没有追加地址那么汇编将在当前CS:EIP处开始.另外,键入A命令后, 在单独一行指令栏中键入USE16或USE32,将告诉汇编器是采用16位还是32位指令,默认是和当前的CS寄存器的模式一致.点评:这是和DOS下DEBUG.EXE的用法一样的命令.一般改程序时,用A命令写入,再用CODE ON(见稍后)命令看代码,记录原来的代码和改过的代码后再用工具软件如PCTOOLS HACKVIEW之类查找修改.命令: ADDR作用: 在SoftICE中显示或是切换内存区域语法: ADDR [内存区域句柄|过程名]用法:用来察看某一个任务的私有内存区域, 或是加参数[内存区域句柄|过程名]在SoftICE中切换某一任务的私有内存区域为当前可寻址的内存区域.一些参数的显示:.HANDLE 内存区域控制块的地址.PGTPTR 每个任务私有页表的起址.TABLES 每个私有页表中的表项数目.MINADDR 每个任务的线性地址的起址.MAXADDR 每个任务的线性地址的终址.MUTEX VMM用于页表管理的句柄.OWNER 使用这块内存区域的实例的名字如果有多个相同名字的实例运行, ADDR带OWNER名字切换的话,切到表中的第一个有此NAME的实例所占的内存区域.所以带HANDLE切换的话比较精确. 当用ADDR加参数后,可以用上面提到过的"."命令来回到SoftICE弹出时所属的任务内存区域.点评:这个牵涉到CPU的保护模式寻址方式和WINDOWS 的内存管理,由分段机构产生的32位线性地址要经过分页机构再转化为物理地址,这要牵涉到两个表的寻址.WINDOWS 每次切换都将每个任务的私有页表拷贝到CR3寄存器所指的当前页表中.而ADDR所作的和WINDOWS所作的一样. 所以当你在一个任务中弹出时,可以通过ADDR可以来看别的任务的私有内存区域.命令: ALTKEY作用: 改变用来呼叫SoftICE的热键语法: ALTKEY [ALT 字母 | CTRL 字母]用法:SoftICE默认的热键为CTRL+D, 用此命令可以将热键改变,如果每次启动机器都要改, 则可以把这条命令放入WINICE.DAT中.这条命令是为了防止某些程序和SoftICE的热键相冲突而设的.如:ALTKEY CTRL S 将热键改为CTRL+S点评: 无.命令: ALTSCR作用: 切换SoftICE的视屏输出.语法: ALTSCR [ON|OFF]用法:如果你有双显示器, 则这条命令将使SoftICE的窗口显示在另一台单显上.注意,是老式的单显,不是VGA单显.实际上在启动WINICE时可用参数/M强迫SoftICE用单显来显示.也可在WINICE.DAT中加入初始化串.在WIN95中用SoftICE自带的VIDEOSETUP可以很方便地设定.例:ALTSCR ON 将使输出改变到单显上.点评:这条命令将使SoftICE同一些老显卡兼容, 也使调试变得方便,试想一台显示器显示正常的图像, 另一台来显示跟踪屏幕,免去了按F4看原画面的步骤, 在某些场合还是用得上的. 以前的WDEB386调试器就非要双监视器才能工作.而SoftICE只要一台显示器就行了,这是个很大的进步,但为了和老传统兼容, 它也提供了这个命令方便用户.命令: ANSWER作用: 自动监控通讯端口及将输出转移到MODEM语法: ANSWER [on [com-port] [baud-rate] [i=init] | off] 用法:此命令可以使SoftICE监控通讯端口, 并将输出改变到一台远程的PC机上, 此远程PC机必须运行 SERIAL.EXE(或SERIAL32.EXE).当SoftICE检测到远程PC上SERIAL.EXE发来的特定信息, 就弹出, 告诉你现在将连上远程PC,然后再退出窗口,联接完成.一些参数:.COM-PORT 串行通讯口,默认为COM1.BAUD-RATE 1200, 2400, 4800, 9600,19200,23040,28800,38400,57000,115000其中38400为默认波特率..I=INIT MODEM的初始化字符串.点评: 无,没有用过,不知道:-(有关SoftICE的详细操作指导教程(2)时间:2009-08-19 14:05来源:未知作者:编辑 B 点击:2539次二命令: BC 作用: 清除一个或多个断点语法: BC list | * 用法: 清除断点后,用BL命令就看不到断点列表, 且被清除的断点不再起作用.参数:list: 可以是将要清除的一系列断点,中间用空格或逗号隔开.* : 清除所有的断二命令: BC作用: 清除一个或多个断点语法: BC list | *用法: 清除断点后,用BL命令就看不到断点列表, 且被清除的断点不再起作用.参数:list: 可以是将要清除的一系列断点,中间用空格或逗号隔开.* : 清除所有的断点.点评: BC==Breakpoint Clearing命令: BD作用: 使一个或多个断点失效语法: BD list | *用法:使某个断点失效不同与 BC 命令的清除,暂时失效的断点可以用 BE 命令来恢复.而 BC 命令是彻底清除.参数:list: 可以是单个,也可以是一系列断点, 中间用空格或逗号隔开.* : 禁止所有的断点.点评: BD==Breakpoint Disablling命令: BE作用: 使一个或多个断点恢复有效语法: BE list | *用法:用来恢复前次用 BD 命令使之失效的断点. (每当新定义断点或编辑断点时,系统自动将其置为有效)参数:list: 可以是单个,也可以是一系列断点, 中间用空格或逗号隔开.* : 恢复所有的断点.点评: BE==Breakpoint enablling命令: BH作用: 在SoftICE历史数据库中显示或是选择曾经设过的断点语法: BH用法:用BH命令后,SoftICE将显示一个表,每一行是一个断点,都是以前使用者曾经下过的断点, 这时可以用上下光标键来定位,用INSERT键选择,再用ENTER键来确定. 用ESC键取消.SoftICE只记录最近的32个断点. 而且只在WIN95正常退出后记录(记录到WINICE.BRK中), 这样就有一个问题.如果你在MSDOS.SYS配置中是BootGUI=1的话(即最正常的启动方式),当你SHUT DOWN机器时,控制并不回到SoftICE手中,就无法记录刚才的断点.这时只有改为BootGUI=0.点评:注意:SoftICE只在SHUT DOWN时记录,如果你用"重新启动并切换...",那是不行的.至少在我的V3.20是不行的.而且,如果你"重新启动并切换...", 再用EXIT命令想退回到WIN95,很容易出现VxD联接错.因为这样 WINICE并没有完全退出内存,用 MEM.EXE可以看到这点.所以, SoftICE的使用者最好在MSDOS.SYS中将上面所说的Boo-tGUI置为0.如果怕这样用多重配置的话还要每次开机敲一个WIN,可以在AUTOEXEC.BAT中改动,加入. (可不要在WINICE.EXE后再加!画蛇添足!)若用SoftICE次数不多的话, 可以每次启动WINDOWS后,再重新启动并切换到MS-DOS方式,再打WINICE.EXE, 这样也可以的. BH的好处是,可以省去纸笔, 下次重调试这个程序时,不用再挖空心思想断点了.命令: BL作用: 显示当前所设的断点语法: BL用法:BL 命令显示当前所有断点的序号 (这个序号被BC BEBD 等命令所用),类型,是否被禁止等信息.如果是被禁止的断点,会在序号后跟一个"*"号.比如用上面提到的BD 命令会产生这种效果)点评: BL==Breakpoint listing命令: BMSG作用: 在WIN95的消息上下断点语法: BMSG window-handle [L] [begin-msg [end-msg ]] [IF expression][DO "command1;command2;..."]用法:window-handle: 消息发向的窗口句柄begin-msg : 消息标识字的范围,如果没有end-msg,那么只在begin-msg上下断点, 否则在区域内所有消息都会被下断点end-msg : 见上.IF-expression: 表达式的值为真时,SoftICE才弹出.DO "command1;command2;...":当到达断点时,执行的一系列SoftICE命令.L : 表示不弹出SoftICE,而是在命令窗口中记录WIN95消息.上面只有窗口句柄是必需的,其他都是可选项. 如果没有指定在哪个MSG上下断点, 那么所有发向该窗口的消息都会被拦截.窗口句柄可以用HWND命令来观看,MSG标识符可以用 WMSG 命令来察看,可以是16进制的数, 也可以用习惯的书写方式,如:WM_CREATE.SoftICE弹出后,会停在处理该消息的过程的第一句代码上.点评:BMSG=(set)Breakpoint on MeSsaGeWINDOWS本身是由消息驱动的, 所以跟踪一个消息会得到相当底层的答案,我主页上一篇"修改RICHWIN4.3"的文章就是一个例子.命令: BPE作用: 编辑一个已存在的断点.语法: BPE index_number用法:index_number: 断点的序号,用 BL 命令可以看到.用BPE命令可以很方便地修改一个已经存在的断点, 但要注意一点: BPE 在执行时,会先将你所要修改的断点清除,然后再将改过的使能,如果你在修改时按ESC键退出修改,那么原先的断点也就不存在了, 修改错误的结果也是一样的.原先的断点消失.点评: 参见后面的 BPT 命令.有关SoftICE的详细操作指导教程(3)时间:2009-08-19 14:05来源:未知作者:编辑 B 点击:2540次三命令: BPINT 作用: 在某个中断向量上下断点语法: BPINT int-number [IF expression] [DO command1;command2;...] 用法: int-number : 中断向量号,从0到FFHIF expression: 条件表达式,只有条件为真时,Sof- tICE三命令: BPINT作用: 在某个中断向量上下断点语法: BPINT int-number [IF expression][DO "command1;command2;..."]用法:int-number : 中断向量号,从0到FFHIF expression: 条件表达式,只有条件为"真"时,Sof-tICE才在断点处弹出Do command : 当SICE弹出时,自动执行的一些命令.当在硬中断和CPU异常出错的向量上下断点时,SoftICE会在处理这个中断的过程的第一条语句时弹出.而软件中断则停在INT XX处.注意:BPINT只对由中断描述符表中的中断起作用(WIN95).如果在一个DOS虚拟机(DOS窗口)中下此种断点, 控制是由保护模式转到虚拟机的中断向量表中去.这时如果说停在INT XXH 处, 你用F8跟下去,是一下子看不到对这个中断的实模式处理过程的,要走很远,这时可用:G @ $ 0:int-number*4 来一下子走到实模式处的处理过程.点评:注意! SoftICE30的命令手册(英文版PDF格式在此处写错了!把$写成&了!)($意思是告诉SoftICE 后跟实模式的段.以后有专门论及这些符号的文章.) 如果你是在DOS窗口中用命令行调一个东西, 这时 G @ 0:intno*4也可以,这时默认的SELECTOR就是实模式,选择符存在.但如果在EXPLORER中直接双击一个程序, 拿INT 21H来说,一开头是在KERNEL中,就非得用 $ 不行了!另外:由于有了IF 子句,可以很方便地下各种INT XX断点,比如在文件打开中断功能上下断点 bpint 21 if ah==3d命令: BPIO作用: 在输入输出端口上下断点语法: BPIO [-h] port [verb] [IF expression][DO "command1;command2;..."]用法:port : 端口号verb : 进行什么样的操作时弹出,R为读;W为写 ;RW为读写IF expression: 条件表达式,只有条件为"真"时,Sof-tICE才在断点处弹出Do command : 当SICE弹出时,自动执行的一些命令.-h : 用硬件除错寄存器在VxD中下断点,只在PENTIUM级的芯片上才行当SoftICE弹出时,CS:EIP停在执行I/O操作的下一条指令处.如果不带参数 verb,默认为RW.注意:在WIN95中,若不带-h参数,则只能在RING 3中下断, 若要跟 VXD和VMM的I/O操作,请加-h.WIN95本身用VXD挂了很多I/O操作,用TSS可以看到点评: 可以参看后面要讲的TSS命令.命令: BPM作用: 在内存单元上下断点语法: BPM[size] address [verb] [debug-reg] [IF expression] [DO "command1;command2;..."]用法:size : 内存单元大小,B 为字节(默认);W 为字;D 为双字.verb : 所进行的操作,R 为读;W为写;RW为读写(默认); X 为执行.debug-reg : 除错寄存器,DR0,DR1,DR2,DR3.IF expression: 条件表达式,只有条件为"真"时,Sof-tICE才在断点处弹出.Do command : 当SICE弹出时,自动执行的一些命令.当verb 为 R,W,RW时,一旦弹出,SoftICE停在刚才发生内存操作的后一条指令处.为 X 时,停在将要执行的指令处.一般没有必要,不要带 debug-reg 参数,SoftICE一开始是自动带DR3的,以后按顺序为2,1,0 只有当你调试一个DEBUGGER时,而此DEBUGGER也用到了DRx,才需特别指定一个防止冲突.BPM断点如果下在(400000-7FFFFFFF)内,那么只有你下断点时当前的可寻址区域( 见ADDR的点评)被激活才能发生中断.别的不行.但如果断点下在DLL中,这个DLL在多个地址区域内都存在,那么在这多个地址区域内都可能发生中断,简单的例子如KERNEL32.DLL另外,size 参数要紧跟BPM写,成BPMD,BPMW之类.点评: BPM用了DR3-DR0寄存器,所以最多只能设四个断点.命令: BPR作用: 在一个内存范围上下断点语法: BPR start-address end-address [verb] [IF expression] [DO "command1;command2;..."]用法:start-address: 起始地址end-address : 终止地址verb : R 读;W 写;RW 读写;T 回溯跟踪指令;TW 回溯跟踪内存写IF expression: 条件表达式,只有条件为"真"时,Sof-tICE才在断点处弹出Do command : 当SICE弹出时,自动执行的一些命令.BPR 用来在一段内存区域上下断点它没有 X 参数, 但可用 R 参数代替. T,TW是记录回溯跟踪的参数, 具体可见TRACE命令.BPR 有时会极大地降低系统效能,因为所有对断点所在页的内存操作都会被SoftICE截获分析.如果程序中用到频繁的内存操作,机器就会相当慢.当条件满足,SoftICE弹出时,CS:EIP停在发生内存操作的那条指令上. BPR 断点是下在当前被激活的页表上,如果你下的RANGE在物理4MB以下,断点就会在各虚拟机中,这样,BPR就对LDT,GDT,IDTs,页表本身不起作用.另外,VMM中0级堆栈和严重(?)内存区域(critical ar-eas)也不允许下BPR,很有可能死机.在95中,BPR只能用于RING 3,所以对RING 0的VXD无用.(v3.20)点评:BPR 有时真的很慢,机器就象死了一样, 原因上面都说了.所以在知道内存单元的时侯最好用BPM,只有无路可走才用BPR的范围来试试.(当然也有非要用BPR 不可的地方)命令: BPRW作用: 在某个WINDOWS程序或代码段所在的内存区域上下范围断点语法: BPRW module-name | selector [verb] [IF expression] [DO "command1;command2;..."]用法:module-name : WINDOWS程序的模块名selector : 选择符verb : R 读;W 写;RW 读写;T 回溯跟踪指令;TW 回溯跟踪内存写IF expression: 条件表达式,只有条件为"真"时,Sof-tICE才在断点处弹出Do command : 当SICE弹出时,自动执行的一些命令.BPRW是个在WIN程序的一个或多个可执行模块上下断点的比较便捷的方法实际上它就是BPR, 不信你可以下一个,再用BL 看看.它只不过比BPR更有目的性.用HEAP命令可以帮助使用者看module-name和selector.BPRW 不用你再费心找范围.BPRW 在回溯跟踪时很有用.另外,BPRW 也是不能用于RING 0. 而且在跟 T 参数或和CSIP命令配合使用时有可能会很慢.RW参数是缺省值点评:BPRW 有时侯很管用的, 因为你有可能不知道某个程序在何时在内存中参与运行,用BPRW就可以在这个程序一运行时就弹出.而且可以分不同的代码段.命令: BPT作用: 以前次的断点为模板,设定新的断点.语法: BPT breakpoint_index用法:breakpoint_index: 断点序号.(用BL可以看到)BPT 是以前次的断点为蓝本,进行修改,成为新的断点.它为使用者定新的断点提供了方便.点评: 参见第二部分的BPE 命令命令: BPX作用: 在可执行语句上设定(或清除)断点语法: BPX [address] [IF expression] [DO "command1;command2;..."] 用法:address : 断点所在的线性地址IF expression: 条件表达式,只有条件为"真"时,Sof-tICE才在断点处弹出.Do command : 当SICE弹出时,自动执行的一些命令.BPX 用来在指令处下断点,程序一旦执行到此,SoftICE就会弹出.当光标在代码窗口中时,直接打入BPX就会在光标所在语句处设断点,再打BPX 就取消. 当光标不在代码窗口中时,BPX 必须跟参数(地址). 地址为标准的"选择符:偏移",如果只输入偏移,当前的CS值默认为选择符.BPX 实际上是在你下的断点处加一个INT 3指令, 到这条指令时就弹出来.这使得可以在一个程序中下多个断点,而不必要使用少得可怜的寄存器.但当你在ROM中设断点时,SoftICE自动用断点寄存器来设断.你也可以用BPM 命令的X参数来强迫SoftICE用断点寄存器(DRx)来设断.BPX 也可用16位代码的模块名来作地址参数, 这样,模块中每个出口函数都被设了断点. BPX 最多设256个断点.(V3.20) BPX 有个快捷键 F9,当光标在代码窗口中时,按F9就是设定(取消).点评: BPX 可能是用得最多的断点了. 有些ANTI-DEBUGGER的程序就利用INT 3 来作文章,看了上面的东西我想你可以闪过了吧!(不包括用DRx做文章的噢!)命令: BSTAT作用: 显示某个断点的状态语法: BSTAT [breakpoint-index]用法:breakpoint-index :断点的序号,用BL 命令可以看到用BSTAT 来显示某个断点的状态,各种统计参数.BP # : 断点的序号.若前面有 "*" ,表示断点被禁止在Total 栏目中:Hits : SoftICE每经过一次断点,计数+1Breaks: 在IF expression子句为真的情况下,SoftICE就会产生动作,要么弹出,要么记录在内存中,不管怎样,计数+1Popups: 在Breaks中SoftICE弹出的次数Logged: 在Breaks中SICE将情况记录到内存中的次数Misses: 在IF expression子句为False的情况下,SICE虽然经过这个断点但没有弹出行动的次数Errors: 由于IF 子句中内存变量的问题或其他原因产生的错误的次数.比如跟一个C写的程序,用变量"IF mysymbol==1"来设断,而在断点处 my-symbol 这个变量所在的内存由于释放或其他操作而无法访问,就会产生Error.在Current 栏目中:Hits : 当前的在IF子句计算为True的情况下,但由于BPCOUNT宏所定的次数未到而记录下的累计数Misses: 当前在IF子句计算为False的情况下, 且(或)BPCOUNT宏所定的次数未到而记录下的累计数在杂项(misc)栏目中:Status: SoftICE内部对最近一次断点进行计算的状态代码.(错误代码)如果为0 的话,表示没有错.Scode : SoftICE最近一个内部状态代码,如果为0的话表示没有Errors.Cond. : 如果断点带有附加判断(即有IF expression),则为Yes,否则为NoAction: 如果断点带有附加的动作(即有DO command),则为Yes,否则为No点评: 无有关SoftICE的详细操作指导教程(4)时间:2009-08-19 14:05来源:未知作者:编辑 B 点击:2541次四命令: C 作用: 比较内存中两块区域的内容语法: C start-address l length start-address-2 用法: start-address : 第一块内存区域的开始地址length : 字节长度start-address-2: 第二块内存区域的开始地址如果比四命令: C作用: 比较内存中两块区域的内容语法: C start-address l length start-address-2用法:start-address : 第一块内存区域的开始地址length : 字节长度start-address-2: 第二块内存区域的开始地址如果比较结果不同,将显示不同的部分和它们的地址点评: 无命令: CLASS作用: 显示WINDOWS的类的信息语法: CLASS [-x][task-name]用法:task-name: 当前的正在机器中运行的16或32位任务名-x : 显示CLASS(类)的完整结构.Windows 95在一个16位的模块中维护着标准的WINDOWS类.而且,它为每个进程分别维护着除标准类以外的类.每当程序注册一个新的WINDOWS类时, 信息被放入以下两个地方中的一个:1.任务全局列表放该进程所有模块都可以存取的类(用CS_GLOBAL风格)2.任务私有列表放只有申请该类的模块才能存取的类.当任何一个进程想做一个WINDOWS标准类的话,如LIST-BOX,它会在任务特定的系统冗余列表中得到一个拷贝,这样就不会影响到WINDOWS本身. 所以,当用CLASS命令时,可以看到以下3个分类:(用虚线隔开).任务私有列表.任务全局列表.系统冗余列表输出的各项参数:Class Handle : 类句柄.Class Name : 类的名字, 如果注册时没有名字,那么显示原子名Owner : 注册此类的模块Window Procedure: 处理该类的过程Style : 类的风格点评: 无命令: CLS作用: 清除命令窗口中的字符语法: CLS用法:CLS 清屏命令,将清除命令窗口中显示的数据, 并定位光标到命令窗口的左上角. (如果光标原先就在命令窗口中的话)点评: 无命令: CODE作用: 显示指令码语法: CODE [ON | OFF]用法:CODE ON 将显示指令的机器码CODE OFF 将不显示指令的机器码CODE 不带参数将显示当前是ON 还是 OFF点评:非常有用的,由于安装SoftICE时默认为CODE OFF,所以有必要打开,看到了机器码就可以记录下来,以便修改.命令: COLOR作用: 显示或修改屏幕颜色语法: COLOR [normal bold reverse help line]用法:normal : 普通字符的前/背景颜色,默认为07h(灰/黑) bold : 粗体字符的前/背景颜色,默认为0Fh(白/黑) reverse: 反象显示的字符的前/背景颜色, 默认为71h (蓝/灰)help : HELP命令提示条的前/背景颜色, 默认为30h (黑/青)line : SoftICE各个窗口分界线的前/背景颜色, 默认为02(绿/黑)这些参数采用CGA的标准格式,即0-3位为前景色,4-6位为背景色,这样就有16种前景色,8种背景色:0 黑; 1 蓝; 2 绿; 3 青; 4 红; 5 品红;6 棕;7 灰;8 深灰;9 浅蓝; A 浅绿;B 淡青;C 浅红;D 淡品红;E 黄;F 白点评: 默认的颜色已经很好了,不要改得乱七八糟噢!命令: CPU作用: 显示寄存器内容语法: CPU [-i]用法:CPU 命令显示所有的CPU 寄存器的内容.(普通,控制,除错,段)点评: 不用再装其他检测CPU的小软件了:)命令: CSIP (16位程序才有用)作用: 为所有断点设定一个界限(CS:EIP在其内)(16位程序)语法: CSIP [off | [not] start-address end-address | Windows-module-name] 用法:off : 关闭CS:EIP的界限检查not : 在所定义的模块之外的区域断点才有效start-address : 内存区域起始地址end-address : 内存区域结束地址Window-module-name : 用 WINDOWS模块所在区域来代替地址界限.CSIP 不带参数将显示当前状态.对于32位程序,这个命令没有用.请用带IF 参数的断点命令代替.当然WIN95下也有一些老的16位程序(16位模块,这时CSIP就能派上用场.点评: 无命令: D作用: 显示某内存区域的内容语法: D[size] [address [l length]]用法:size: B 字节; W 字; D 双字; S 短实型; L 长实型;T 10b长实型D 命令在所指定的内存区域开始显示指定长度的内存单元内容. 格式将根据size来变.对于双字类型, 将分两种情况:1.如果指定地址为32位的段, 格式为32bytes的16进制值(即8位16进制值)2.如果指定地址为16位的段, 则格式为16:16指针的形式(即4:4位16进制值)如果没有指定地址,D 命令将继上次命令后的地址开始显示.如果数据窗口可见,则结果在数据窗口中显示,否则显示在命令窗口中.但若用了参数L 和长度, 则结果不论数据窗口可见还是不可见,都显示在命令窗口中.点评: 无有关SoftICE的详细操作指导教程(5)时间:2009-08-19 14:05来源:未知作者:编辑 B 点击:2542次五命令: DATA 作用: 显示另一个数据窗口语法: DATA [window-number] 用法: window-number: 所要选择的窗口号,0,1,2,3SoftICE最多支持4个数据窗口.每一个窗口可以独立按自己的格式显示数据. 但同一时刻只能显示一五命令: DATA作用: 显示另一个数据窗口语法: DATA [window-number]用法:window-number: 所要选择的窗口号,0,1,2,3SoftICE最多支持4个数据窗口.每一个窗口可以独立按自己的格式显示数据. 但同一时刻只能显示一个窗口.如果用DATA窗口不带任何参数, 将按0,1,2,3的次序显示各个窗口中的内容.在数据窗口的右上角的横线上有窗口序号的提示.点评: 可以很方便地对多个目标的进行观察命令: DEX作用: 在数据窗口中显示(或赋予)某个表达式语法: DEX [data-window-number [expression]]用法:data-window-number: 即DATA命令中所讲的0,1,2,3号数据窗口DEX 命令可以为每一个数据窗口赋予一个表达式,每次SoftICE弹出该表达式就被重新计算, 并显示在相应的数据窗口中.这对某些指针非常有用. 指针可以放在寄存器中或是在内存变量中,如下二例:DEX 0 SS:ESP 每次SoftICE弹出, 就在0号数据窗口中显示堆栈的值DEX 1 @pointervariable 每次SoftICE弹出, 就在1号窗口中显示由pointervariable指针所指的内存单元的内容.(@ 操作符后有论述).用DEX不带参数将显示当前在各个数据窗口中所赋予的表达式. 用 DEX data-window-number(不跟表达式)将取消前次赋予窗口的表达式.点评: 相当于自动化的D命令.命令: DIAL作用: 将控制台重定向到MODEM语法: DIAL [on [ com-port] [ baud-rate] [i=init-string] [p=number] | off] 用法: COM-PORT : 串行通讯口,默认为COM1BAUD-RATE: 1200,2400,4800, 9600, 19200, 23040,28800,38400(默认),57000,115000I=INIT : MODEM的初始化字符串.p=number : 电话号码DIAL 命令通过拨号与远程电脑取得联系, 远程电脑必需正在运行SERIAL.EXE且在等待对方拨号.一旦联接完成,SoftICE的的输入将来自远程计算机,输出也重定向到远程计算机.本地计算机除了激活的热键外不接收其他对SoftICE的输入.当远程机结束调试后,用DIAL OFF来挂断MODEM.点评:前次的ANSWER命令是等远程机拨号过来,而DIAL是拨过去.有机会试一下这两个命令就好了.命令: E作用: 修改内存单元语法: E[size] [address [data-list]]用法:size : B 字节;W 字;D 双字;S 短实型;L 长实型;T 10字节的实型data-list: 要修改的值,(和size类型一致) 可用单引号或双引号来输入字符串.如果键入没有data-list参数的E 命令, 光标将切换到数据窗口并定位到所指定的内存单元,等待使用者相应的操作.如果加跟data-list参数,则内存单元立刻被修改为所指定的值.数据窗口当前如果不可见, 则键入E命令将使之可见.在修改中可以用TAB键在ASCII与十六进制方式之间切换.点评: 无。
JAMAICAN REFRIGERATED MODULESMODELS INCLUDEDEUTECTIC COOLED WELLSCONTACT COOLED WELLSBLOWN AIR WELLSMULTI TIERSREFRIGERATED SNACKCARTSThank you for buying a Victor Unit. We hope and expect that you will get many years of satisfactory use from your purchase. In order to achieve the best results from your equipment please read, and follow, the installation, operating, cleaning and maintenance instructions below. Failure to follow them may affect the warranty.1. UNPACKING AND ASSEMBLYAll protective coating used on stainless steel surfaces of the hot cupboard must be removed. The exposed surfaces can then be wiped clean with a damp cloth, using a mild detergent or soap if necessary.Do not use any abrasive material or form of bleach for cleaning purposes. Please see cleaning section of these instructions.2. INSTALLATIONPosition the appliance where it is to be used and ensure that it is level.Do not site the appliance in the immediate vicinity of a heat sourceDo not position the appliance so as to obstruct air vents on either the operator or customer sides of the appliance. Adequate airflows are vital to the correct functioningof the refrigeration system. Avoid placing the appliance in areas subject to strong draughts or under air conditioning systems. Avoid areas subject to high humidity (e.g. conservatories) as the appliance will act as a de-humidifier, and create excessive amounts of water.The appliance is fitted with a 13 Amp fused plug and only requires connection to a suitable 13 Amp socket outlet. This model is suitable for 230 - 240V A.C. supply only. Ensure that the electricity supply is as stated on the model’s data plate. Important:Wires in the mains lead are coloured in accordance with the following code:Green and Yellow (Earth) • Blue (Neutral)) • Brown (Live) Warning: This appliance must be earthed, do not touch internal wiring.As the colours of the wires in the mains lead on this appliance may not correspond with the coloured markings identifying the terminals in your plug, proceed as follows:(a)The wire which is coloured green and yellow must be connected to the terminal in the plug, which is marked with letter E or the symbol.(b)The wire which is coloured blue must be connected to the terminal which is marked with the letter N or is coloured black.(c) The wire which is coloured brown must be connected to the terminal which is marked with the letter L or is coloured red. 3. USE AND BEST PERFORMANCEEUTECTIC COOLED WELLSThe well relies entirely on eutectic plates; there is no refrigeration system within the appliance. The well should have eutectic plates placed to cover its base, in order to achieve the desired cooling effect.To obtain the best performance, the following procedure is suggested:(a) Eutectic plates should be placed into a freezer for 12 – 24 hours prior to use.(b) Place the eutectic plates into the base of the well approximately 15 minutes before loading.(c) All produce placed into the well should be chilled prior to loading.(d) After service remove and clean the eutectic plates and refreeze.Warning: Do not use eutectic plates if they show signs of damage or leakage.CONTACT COOLED WELLSThe well operates with a surface temperature of 0oc to 1oc in ambient temperatures of up to 32oc with a relative humidity of 60%. Food produce should be chilled before being placed in the well.The refrigeration system is operated by a green on / off switch marked ‘Refrigeration’, which will illuminate when the refrigeration is switched on. This type of refrigeration is by contact with the base of food or containers holding the food. To obtain the best performance, the following procedure is suggested:(a) Switch on the refrigeration system via the switch located on the control panel.(b) Depending on the ambient temperature, allow the well approximately 30 minutes to reach the required temperature. A small amount of ice may form on the bottom of the well which may require removing from time to time.(c) Load the well as required.Please remember: The refrigeration system is not designed to chill food, but is designed to store and display food before serving.BLOWN AIR WELLSThe product is designed to maintain food placed in the well at between 3o and 7oc in ambient temperatures of up to25ºC and relative humidities up to 60%. Food must be at orstart to run after one minute.2. Press and hold the right hand button (X ) this will switch the unit off. The display will now read off.Turning the light on/off on the controller1. Press in the second to right hand button (M ). The light will now be illuminated.2. Press in the second to right hand button (M ). The light will now go off (this procedure can be carried out even when the unit is not running and the display reading off ).The refrigeration system is controlled by a microprocessor control which is factory set and requires no adjustment. The digital display will show the air temperature within the well, not the food temperature. Other buttons on the controller are of no consequence to the user and are for factory or service engineer use only.To obtain the best performance, the following procedure is suggested:(a) Switch on the refrigeration system via the switch located on the control panel.(b) Depending on the ambient temperature, allow the display approximately 30 minutes to reach the required temperature.(c) Load the display. Do not load the shelves too densely. Please leave gaps between adjacent items to enable adequate airflows. Please also leave a gap between the top of the food items and the shelf above.All refrigeration systems frost up when operating. Yourappliance has a microprocessor control, programmed to defrost periodically. No manual defrost is required. The refrigeration system will automatically defrost every 2 hours for approximately 20 minutes.The controller will display ‘def ’ during the defrost cycle, then ‘rec ’ as the systems recovers temperature. Water collected from the defrost operation is automatically evaporated.Please remember: The refrigeration system is not designed to chill food, but is designed to maintain it at a satisfactory temperature before serving.REAR DOORS (Counter models )The doors hinges outward to facilitate loading and cleaning. Whilst the unit is running, only open them for the minimum time possible.SHELVES; REMOVAL AND HEIGHT ADJUSTMENT (a) The glass shelves may be removed for cleaning.(b) With the glass out, the shelf height can be adjusted up or down 15mm.CANOPYThe canopy is fitted with a LED array strip, this is controlled by as described above. The LED array is replaceable. Please proceed as follows:1. Turn off power to the unit.2. Unclip the LED strip from the brackets.3. Unplug the lead.4. Reverse the process to fit the new strip.below this temperature before being placed in the well.The refrigeration system is operated by a green on / off switch marked ‘Refrigeration ’, which will illuminate when the refrigeration is switched on.The refrigeration system is controlled by a microprocessor control which is factory set and requires no adjustment. The digital display will show the air temperature within the well, not the food temperature. Other buttons on the controller are of no consequence to the user and are for factory or service engineer use only.To obtain the best performance, the following procedure is suggested:(a) Switch on the refrigeration system via the switch located on the control panel.(b) Depending on the ambient temperature, allow the well approximately 30 minutes to reach the required temperature.(c) Load the well as required, but be careful not to over pack the well and restrict airflows between the front and rear vents of the well as this will affect the efficiency of the refrigeration system. Do not fill above the “Load Lines ” marked on the sides of the unit.All refrigeration systems frost up when operating. Yourappliance has a microprocessor control, programmed to defrost periodically. No manual defrost is required. The refrigeration system will automatically defrost every 2 hours for approximately 20 minutes.The controller will display ‘def ’ during the defrost cycle. Water collected from the defrost operation is automatically evaporated.Please remember: The refrigeration system is not designed to chill food, but is designed to maintain it at a satisfactory temperature before serving.GANTRY (where purchased )The gantry will be fitted with a LED array strip, this is controlled by an on/off switch on the rear of the gantry. The LED array is replaceable. Please proceed as follows:1. Turn off power to the unit.2. Unclip the LED strip from the brackets.3. Unplug the lead.4. Reverse the process to fit the new strip.MULTI TIERSThe display is designed to maintain food placed in it atbetween 3ºC and 7ºC in ambient temperatures of up to 25ºC with a relative humidity of up to 60%; food being placed in the display must be at or below this temperature.Counter style modelsThe refrigeration system is operated by a green on / off switch marked ‘Refrigeration ’ and located at the rear of the unit which will illuminate when the refrigeration is switched on.Wall style modelsTurning the unit on/off on the controller1. Press and hold the right hand button (X ) this will switch the unit on. The display will now read the unit temperature and will4. CLEANINGSwitch off the unit at the mains before cleaning.Stainless steel surfaces will give you many years of trouble-free use as long as you follow a few simple rules. If it appears to mark do not worry, it is usually not the steel but something deposited on it which has stained.Wash all surfaces before use:You should use a damp cloth and a mild detergent or soap, or similar cleaner. Always rinse well with clean water and dry the surface with a soft cloth. Clean regularly when in use. Do use soft cloths, nylon or bristle brushes.Do not use:Metal scrapers, wire brushes or wire wool pads as they can scratch the steel. Do take care when handling sharp objects as they can scratch the surface of stainless steel. Any scratches on stainless steel will blend together over a period of time and become less noticeable with age. There is no detriment to the corrosion resistance or general performance of the material.Do not use:Bleach for cleaning purposes (remember dishwasher powders, sterilising agents and similar products all contain chlorides). If used, black pit marks, large brown patches or other such effects may appear and permanent damage may be caused. If used inadvertently rinse immediately with clean water.Do not splash the unit with bleach when cleaning around the counter:If you do, rinse the surface immediately with clean water thoroughly.Do not allow:Corrosive foodstuffs such as fruit juices, vinegar, mustards, pickles, mayonnaise, etc., to remain on stainless steel for long periods. Wash and rinse away.Do not leave:Steel objects or utensils standing on the stainless steel surfaces for long periods. They can rust and leave marks.After cleaning with detergent always remove residues with a wet cloth and wipe dry, if left they can have an etching effect on the surface.5. MAINTENANCE & SPARESImportant: You must disconnect the appliance from the mains before removing any components which have been fastened using screws, etc.It is advisable to lubricate the doors once or twice a year with petroleum jelly in order to keep them sliding smoothly. Remove the doors (as above in cleaning) and put a small amount of lubricant on the wheel / track that is fixed to the door. Replace the door and slide from side to side for an even distribution of the lubricant.You should have the various items in your unit tested for electrical safety at least once a year as required by the Electricity at Work Regulations.Spare parts are available for all models of equipment. These can be obtained by contacting your distributor. When ordering any spare parts always quote the model and serial number. Please use the box provided below to record your model and serial number for future information, this can be found on the data label on the appliance.Model number:Serial number:6. WARRANTYAs a manufacturer of catering equipment, Victor Manufacturing Ltd offers warranty on all goods manufactured by the company and supplied by its United Kingdom Distributors.Victor Manufacturing Ltd is renowned for its reliability and Victor Manufacturing Ltd provides on-site warranty in case of failure included in the purchase price, which covers the costs of spare parts and labour on your Victor Manufacturing Ltd goods from the date of invoice for a period of 24 months.The Victor Manufacturing Ltd warranty does not affect any legal rights you have against the person who supplied your Victor Manufacturing Ltd goods or any other legal right against Victor Manufacturing Ltd under the laws of the United Kingdom - it is an addition to those rights.All goods sold by Victor Manufacturing Ltd are subject to the Company’s standard conditions of sale, a copy of which is available upon request.Where the goods and components supplied by Victor Manufacturing Ltd are of the company’s design and manufacture, Victor Manufacturing Ltd will make good any defects in those goods provided Victor Manufacturing Ltd liability will be limited to the following:It is the purchaser’s responsibility to prove that the unit is under warranty, e.g. receipt of purchase, invoice number, serial number, etc.Damaged in transit claims must be reported in writing to the company within 3 days of receipt for your claim to be validated. Damaged goods will not be replaced or repaired if they have been used.Victor Manufacturing Ltd must authorise all warranty repairs prior to the commencement of work. Work carried out on goods prior to authorisation will not be covered nor will any resultant damage.All warranty will be immediately invalidated if in the reasonable opinion of Victor Manufacturing Ltd, unauthorised repairs or modifications have been made to the goods, in the case of accident, misuse, or damage caused by improper installation and altered or missing serial numbers. Victor Manufacturing Ltd will not provide warranty repairs if in our opinion the problem resulted from externally caused damage, use outside the goods specification, faults caused by inexperienced or non-approved repairers. AllWEBSITEEMAIL ******************.uk TELEPHONE01274 722125warranty will be immediately invalidated if installation of equipment is not in accordance with Victor Manufacturing Ltd installation instructions supplied.Customer adjustments explained in the operating manual are not covered by Victor Manufacturing Ltd on-site warranty. Assistance can be received by contacting the warranty desk.The liability of Victor Manufacturing Ltd and its appointed engineers are limited to the cost of repairs (parts and labour only) of the unit under warranty. Loss of food or other damages caused by faulty goods are not covered by the warranty.No fault found warranty calls and installation errors are not covered under Victor Manufacturing Ltd warranty and will result in a charge being made for the call-out and on-site labour for our appointed engineer. The Victor Manufacturing Ltd warranty does not cover the replacement of used consumables, or parts that require period adjustment or lubrication, unless the part is faulty.You must have evidence that routine maintenance has been carried out by a qualified engineer in accordance with the instruction manual. This is of particular importance with refrigerated and gas fuelled appliances. Work madenecessary by lack of routine maintenance or cleaning is not covered by this warranty and will be chargeable.Victor Manufacturing Ltd parts and labour warranty is valid for the United Kingdom Mainland only. (Parts only all areas outside the United Kingdom Mainland.)Some parts are automatically not covered by the Victor Manufacturing Ltd warranty (e.g. panels, glass, lamps, shelves, etc.) Many surface finishes including paint and plastic coated steel can be scratched and damaged if not properly cared for; such damage is not covered by the Victor Manufacturing Ltd warranty .7. IF YOUR EQUIPMENT FAILSRefer to the instruction manual. If the problem still cannot be resolved, prepare a description of the fault you have.Make sure you have your proof of purchase document (Invoice number or serial number) and the model number of the equipment that has failed.Contact the warranty department on the following numbers:• Warranty Desk Tel No: 01274 722125 (Office hours)• Warranty Desk Fax No: 01274 307082 (Office hours)•WarrantyDeskEmail:********************.uk•EmergencyWarrantyTelNo************(Allothertimes)Warranty repairs are carried out between 9.00am and 5.00pm Monday - Friday.Access required outside normal working hours may incur charges.Registered Office:Victor Manufacturing LtdProspect Works, Off South Street, Keighley BD21 5AA Tel: 01274 722125Email:******************.uk。
SoftICE for WIN95中文命令解说(七)命令: H作用: 显示帮助信息语法: H [command]用法: 键入 H 命令不带任何参数将显示所有命令的帮助. 要获得详细的帮助,在 H 后加命令名就可.详细的帮助将包括命令的描述,命令的语法,和例子.点评: H 命令可以很方便地帮助使用者查询SoftICE的命令.实际上在命令窗口的底部有一个状态条,它提供的实时帮助也是很有用的.命令: HBOOT作用: 系统重新启动语法: HBOOT用法: HBOOT 将重新启动计算机.等同于按Ctrl+Alt+Del 组合键.HBOOT 一般都能成功,只有特殊情况下(某些插卡需要重加电)才用机器上的RESET或POWER键.点评: HBOOT 让我想到两件事:1,以前学微机时,老师老是盯着我们,唯恐我们乱启动机器.想起来真是不寒而栗, 好象是我们的过错一样.可机器明明死了嘛,不重新启动怎么行?2,有大部分品牌机上没有RESET键, 死机就按POWER键,按得老板倒抽凉气.:)命令: HEAP作用: 显示Windows全局堆语法: HEAP -L [free | module-name | selector]用法: -L : 只显示含局部堆的全局堆入口module-name: 模块名.selector : LDT 选择符HEAP FREE 将显示空闲的全局堆.HEAP 跟模块名将只显示由指定的模块拥有的全局堆入口. HEAP 跟LDT 选择符将只显示与此选择符相应的全局堆入口. HEAP 不带参数将显示整个全局堆的情况.输出:selector or handle: 选择符符或句柄. address : 32位虚拟地址size : 堆的大小(字节)module name : 模块名-------------------------------- type : 全局堆的类型code : 不可丢弃的代码段code D : 可丢弃的代码段Data : 数据段ModuleDB : 模块数据基础段TaskDB : 任务数据基础段BurgerM : "三明治"(就是堆本身) Alloc : 被动态分配的内存Resource : Windows 资源--------------------------------额外信息:如果某全局堆的入口是代码段或数据段,则会显示该段在.EXE中的段号.如果某全局堆的入口是Windows资源,则会附加显示如下资源类型:-------------------------------- UserDef(用户自定义);Icon(图标); String(字符串); Accel(快捷键);IconGrp(图标组);Cursor(光标);Menu(菜单);FontGrp(字体组);ErrTable(错误表);NameTabl(名字表); Bitmap(位图);Dialog(对话框);Font(字体);CursGrp(光标组)--------------------------------点评: PDF 手册中称堆本身为Burger-->"三明治"(碎肉夹饼)很贴切,堆本来就是乱七八遭.命令: HEAP32作用: 显示Windows全局堆语法: HEAP32 [hheap32 | task-name]用法: hheap32 : 由HeapCreate()返回的堆句柄. task-name: 32位任务的名字.HEAP32 不带参数显示32位进程的堆的情况:.KERNEL32 缺省系统堆..进程用HeapCreate()申请的私有堆..两个由VMM产生的Ring-0级的堆.第一个是换页锁定的堆,第二个是可换页的堆..一个属于所有虚拟机的Ring-0堆.如果加上进程名,SoftICE将显示所有该进程的缺省堆,且地址内容也切换到该进程中.如果加上堆的基地址而不是进程名,SoftICE将显示该进程的非缺省堆.WINDOWS 95的调试版还提供了额外的调试信息,想要用SoftICE看到这些信息,必须:.对于KERNEL32 Ring-0堆,必须安装有SDK除错版..对于VMM Ring-0堆,必须安装VMM的DDK除错版输出信息(HEAP32):HeapBase : 堆的基址MaxSize : 堆可增长的最大范围, 在此范围内堆无需再创建一个新段.Committed: 以千字节为单位当前存在于物理内存中的被保证的内存大小Segments : 堆中段的数量. 当堆增长超出段所能容纳的范围,就建立一个新段Type : 堆的类型:-------------------------------- Private: 由应用程序建立的Ring-3堆 System : KERNEL32建立的Ring-3堆Ring0 : VMM建立的Ring-0堆VMM## : 由VMM建立的为特定虚拟机存储数据的堆.--------------------------------输出信息(HEAP32 带参数):Address: 堆元素的地址.Size : 以字节为单位堆元素的长度.Free : 如果堆元素是空闲的块,则会显示"FREE",否则不显示.点评: 在SoftICEv3.20实际操作上和手册说的中有些许不同.命令: HERE作用: 运行到当前光标所在行语法: HERE用法: HERE 命令让程序一直走到光标所在行再停下来.注意:只有当光标在代码窗口中时才有效.如果代码窗口不可见或光标不在代码窗口中,则请用 G 命令代替.也可用EC 命令将光标移到代码窗口中去,再用 HERE. HERE 命令有个快捷键 F7.将光标定位到你想让程序暂停的指令处,按下F7 ,程序将在此处设一个一次性断点.程序中其他非一次性的断点照样起作用. 无论是谁先弹出,都将清除 HERE 所下的一次性断点.和G命令一样,HERE 命令尽量采用除错寄存器DRx, 只有用完时才用INT 3点评: 无.命令: HWND作用: 显示窗口句柄的信息语法: HWND [-x][hwnd | [[level][process-name]]用法: level : 窗口等级号码.0 是最高级.1 其次,等等.窗口等级代表了父窗口和子窗口的关系.-x : 显示窗口的冗余信息.hwnd : 窗口句柄.process-name: 任何当前进程名如果指定了窗口句柄,就无需指定等级, 进程名等其他参数,SoftICE将显示所指定窗口句柄的信息.输出:Class Name : 此窗口所属类的名称或类的原子.Window Procedure: 窗口函数.点评: 窗口句柄很有用的.(废话!)命令: I作用: 从输入/输出(I/O)端口读入数据语法: I[size] port用法: size: B 字节(默认);W 字;D 双字port: 端口地址.I 命令在大多数情况下是作一个I/O输入指令, 获取真实的硬件端口的数据. 在虚拟端口的情况下,取得真实值和应用程序所见到的虚拟值可能不同. 对于21h 和A1h 端口,SoftICE是例外,它不进行读取,而是返回So-ftICE弹出时的值.点评: 参见 O 命令.。
Softice入门Softice的界面和操作都比较简单,只要熟悉一些基本的命令之后就可以开始利用它为我们服务了。
有一点要提醒大家:Softice在WINDOWS启动之前装入系统中,然后将WINDOWS 载入(因为要控制、拦截WINDOWS的动作),所以它工作于系统的0级(即特权级)。
当在WINDOWS下用热键呼出Softice后,它就控制了整个系统,此时任何其它的程序(包括系统时钟)都将处于停止状态。
本文只是介绍Softice的基本使用方法,有关Softice的详细使用方法请参阅随软件附带的命令手册和操作手册,本站“相关资料”中有Softice的中文使用说明。
★如何呼出/退出Softice?★Softice的界面图★Softice预定义功能组合键的作用★Softice的常用命令用法介绍◆如何呼出/退出Softice?——在WINDOWS下可以随时用热键CTRL+D组合键呼出内存中的Softice,按F5功能键退出Softice ◆FAQ问题解答:用CTRL+D不能呼出Softice怎么办?——如果确保成功安装了Softice,对于windows 9x请检查批处理文件autoexec.bat中是否有winice.exe这一句,对于windows NT请在“开始-〉程序-〉NuMega Softice”下选择“Start SoftICE”启动Softice试试。
Softice的屏幕没有任何显示?——在“开始-〉程序-〉NuMega Softice”下选择“Display Adapter Setup”重新设置显卡Softice中鼠标功能出现异常?——在“开始-〉程序-〉NuMega Softice”下选择“Mouse Setup”重新设置鼠标在显卡设置中选择了“Universal Video Driver”选项,但是Softice的呼出的仍然是全屏DOS界面?两个对策:——1. 将winice.dat的初始化命令行(即INIT)中的“LINES XX”数改小,例如:LINES 40——2. 在显卡设置中将“Manufacturer”强制改为“StandardVGA”,然后“Test”,成功后退出。
序言一旦放松下来,要再拣起艰苦的生活真是很不易的呀!我一看《高等数学》就烦,还有《初级日语》,我已经停了有一个月没读了吧...好象连假名也都忘了!还好对于计算机还有那么一点点的兴趣,虽然是读着IBM(r) PC 汇编语言也不觉得很枯燥。
我很想做一些有意思的事情,可惜没有好的想法。
最近看了网络上的两篇文章——都是关于编程学习的心态和方法的——颇有些感触。
于是决心在假期做些东西出来。
正好我在学习 Assembly Language,接触一些计算机底层的东西,所以决定着手翻译 Soft-ice 的手册。
我读了几篇台湾学生的解密文章,深感对于计算机了解的不够深入。
这回借着翻译的机会,希望可以多结识一些有技术的人,一同探讨关于加密和解密的问题。
文章打算贴在网易里。
只是不知道有没有人做了这件事情?我曾经看过一份网络上翻译的文件,也是台湾的人做的,语言不是很适合大陆的习惯,并且只有很少一部分。
不过人家有真正的技术,象我,对于实际的技术实践的很少了。
所以我想我会做的比较全面和认真,至于实际的运用,则完全在读的人的能力了。
哎,回来一周了,才写了这一篇日记!----------------------------------------------------Soft-ice使用手册适用于Windows (r) 95 & Windows NT (TM)1996年10月本文件信息如有改变恕不另行通知。
此文件在软件授权发布之后完成,软件的使用和拷贝应遵循许可协议。
购买者可以保留备份软件,但未经 NuMega 技术有限公司许可,不允许在购买者个人使用之外以任何形式散发、公开使用或传递本文件。
版权1996 NuMega Technologies, Inc.保留所有权利。
下面是在本手册中使用的商标名:NuMega Technologies Inc。
,NuMega logo,BoundsChecker,SoftICE和On-Dem and Debugging 是NuMega技术有限公司的标志。
Microsoft,Windows,Win32,Windows NT和Visual C++是微软公司的标志或注册商标。
Borland and Delphi是宝兰国际有限公司的标志或注册商标。
Watcom是Sybase公司及其子公司的标志。
Adobe和Acrobat是Adobe系统公司的标志。
其它品牌和产品名是相应持有者的标志或注册商标。
软件授权许可协议(没什么用处的东西,文字又小,大家大概知道是那个意思就可以了吧,我就略过了!)目录:本手册的功能读者对象本手册的组织结构排版风格如何使用本手册其它相关文件(外国人就是罗嗦,为了求全,只好随他了。
)第一章欢迎使用SoftICE产品概况介绍SoftICE介绍Symbol Loader如何得到客户服务联系NuMega公司的技术支持中心第二章安装SoftICE介绍硬件和软件要求SoftICE显示选择安装之前安装安装之后配置BOOT。
INI以便在多处理器系统中支持单CPU配置SoftICE在Windows 95下正确载入通过串行口连接第二台计算机解决显卡问题第三章 SoftICE教程介绍载入SoftICE构造GDIDEMO样本程序装入GDIDEMO样本程序控制SoftICE屏幕通过源码跟踪和逐步调试读本地数据设定断点和目标断点设定一个断点设定STICKY断点(此处不知STICKY作何解释。
待我读到此处时大概会明白)使用SoftICE命令行信息使用符号和符号表设定条件断点设置BPX断点编辑断点设定读写内存断点第四章将代码装入SoftICE调试的概念准备调试程序准备调试设备驱动程序和VxDs(虚拟设备驱动程序)手工装入SoftICE装入SoftICE for Windows 95装入SoftICE for Windows NT构造带有调试信息的程序使用Symbol Loader转换和载入文件修改模块设定修改通用设定修改编译设定修改调试设定指定程序的源文件删除符号表在DOS命令行里使用Symbol Loader使用Symbol Loader的命令行工具NMSYM命令行的语法使用NMSYM来转换符号信息使用NMSYM来装入模块和符号信息使用NMSYM来装入或导出符号表使用NMSYM卸载符号信息使用NMSYM来保存历史记录关于NMSYM的信息第五章 SoftICE导航介绍呼出SoftICE窗口启动时禁用SoftICE使用SoftICE窗口调整窗口大小控制窗口拷贝和粘贴数据用鼠标输入命令得到帮助使用命令窗口滚动窗口键入命令重呼命令使用运行时宏将命令窗口的历史缓存保存到文件相关命令控制代码窗口读信息在代码窗口键入命令使用本地窗口控制本地窗口扩展和分解堆栈相关命令使用观察窗口控制观察窗口设定观察表达式读信息扩展和分解类型表达式相关命令使用寄存器窗口控制寄存器窗口读信息编辑寄存器和标志位相关命令使用数据窗口控制数据窗口读信息改变内存地址和格式编辑内存辅助表达式第六章使用SoftICE在跟踪错误时调试多个程序跟踪错误Ring-3 32位保护模式(Win32程序)Ring-0 驱动代码(内核模式设备驱动程序)Ring-3 16位保护模式(16位Win程序)地址内容使用INT 0x41 .DOT命令理解从R-3到R-0的转变第七章使用断点第八章-----------------------------------------------------------(...很累人那!今天就这些了吧.因为我也是读一些翻译一些,所以有些"向前引用"的名词术语不知道要如何解释其意义.应该读完再翻译比较好...不过那个时候我又开学了...呜...一点时间也没有了!)第七章使用断点介绍SoftICE所支持的断点类型断点选项执行断点内存断点中断断点I/O断点窗口消息断点理解断点的含义虚断点设置断点活动条件断点条件断点计数功能在条件表达式中使用本地变量在条件断点里引用堆栈参考多重断点所用时间断点统计在表达式中引用断点使用内嵌断点第八章使用表达式表达式操作符操作符优先级形成表达式表达式类型定制类型取得符号的数值间接使用符号第九章装入系统组件符号装入由DLL和EXE文件导出的符号表使用未命名的入口点在表达式中使用导出时的命名装入32位DLL的动态导出在SoftICE中使用Windows NT符号文件(DBG)在SoftICE中使用Windows 95符号文件(.SYM)第十章通过调制解调器使用SoftICE介绍硬件要求建立连接通过调制解调器使用SERIAL.EXEDIAL命令ANSWER命令第十一章定制SoftICE修改SoftICE初始化设定修改通用设置预载入符号和源码预载入导出文件配置远程调试修改键盘映射使用宏设置排错选项第十二章浏览Windows NT概述高级调试的资料深入Windows NT 核心管理Intel体系结构Windows NT系统内存映射Win32子系统深入CSRSSUSER和GDI对象处理地址空间API堆附录A:错误信息附录B:显卡支持附录C:SoftICE排错词汇表索引(这个手册英文版的叶眉上有一些格言,不知道放在那里是什么意思。
我不做翻译,完全抄录下来,各位仁者见仁了!)Some books are to be tasted, others to be swallowed, and some few to be chewed and digsted.Francis Bacon(是培根的《谈读书》?)前言本手册的功能SoftICE是一个先进、通用的调试器,可以调试实际中任何类型的代码。
包括应用程序、设备驱动程序、EXEs、DLLs、OCXs和动态及静态的VxDs。
本手册介绍如何安装和使用SoftICE,以及在Windows 95和Windows NT下的载入和调试。
因为一些程序员喜欢通过自己实践来学习使用,所以手册中包括了一个教程来指导你完成基本的代码调试。
读者对象本手册的读者对象是希望使用SoftICE来调试Windows 95和Windows NT的程序员们。
本手册的组织结构SoftICE使用手册的组织结构如下:第一章,欢迎使用SoftICE简要介绍了SoftICE 的组件和特性。
也包括了如何联系NuMega公司的技术支持中心。
第二章,安装SoftICE列出了SoftICE 所需要的硬件和软件要求,然后介绍如何在Windows 95和Windows NT下安装SoftICE。
第三章, SoftICE教程提供了一个实践的教程来演示调试代码的基本步骤。
主要包括跟踪代码、看本地内容和结构,设置一系列断点以及看符号表的内容。
第四章,将代码装入SoftICE解释如何用SoftICE Symbol Loader 将不同类型的代码装入SoftICE。
第五章, SoftICE导航介绍如何SoftICE提供的接口来调试代码第六章,使用SoftICE提供了关于跟踪错误、地址内容、使用INT 0x41.DOT命令和从Ring-3到Ring-0转换的信息。
第七章,使用断点解释如何在程序执行、内存读写、中断、和读写I/O断口中设置断点。
第八章,使用表达式解释用表达式来测试断点第九章,装入系统组件符号解释如何装入从DLLs和EXEs中导出的符号以及如何在SoftICE中使用Windows NT的符号文件。
第十章,通过调制解调器使用SoftICE解释了如何通过调制解调器从远程计算机上控制SoftICE。
第十一章,定制SoftICE解释如何使用SoftICE的配置设置定制你的SoftICE环境、预载入符号和导出、配置远程调试、修改键盘映射、建立自定义宏和排错选项。
第十二章,浏览Windows NT提供了一个对Windows NT操作系统的快速浏览。
附录A:错误信息解释SoftICE的错误信息附录B:显卡支持列出了SoftICE所支持的显卡附录C:SoftICE排错解释了如何解决你可能遇到的问题。
词汇表索引排版风格下面是本手册中所使用的的约定以便区分不同的信息:约定描述Enter 表示你应键入文本,然后按RETURN键或单击OK。
斜体表示变量信息。
文本在指令和样本代码中使用,表示你应敲入的字符。
小号大写字母表示用户界面元素,如按纽或菜单。
大写表示路径名、文件名、关键字和缩写。
如何使用本手册参考下面的列表,基于你的水平和调试程序的经验,决定最好的起点。
经验建议起点对使用调试器无经验完成第三章的教程有使用其它调试器的经验读第四章,将代码装入SoftICE和第五章,SoftICE导航有使用早期SoftICE的经验读第四章,略过第五章,学习使用鼠标和本地观察窗口。
其它相关文件作为本手册的附加部分,NuMega提供了如下文档:1.SoftICE命令参考依字母顺序介绍了SoftICE所有命令。