呼吸机操作手册

| 收藏本文 下载本文 作者:怎么不讲

下面是小编为大家整理的呼吸机操作手册(共含5篇),欢迎阅读与收藏。同时,但愿您也能像本文投稿人“怎么不讲”一样,积极向本站投稿分享好文章。

呼吸机操作手册

篇1:呼吸机操作手册

呼吸机是一种能代替、控制或改变人的正常生理呼吸,增加肺通气量,改善呼吸功能,减轻 呼吸功消耗,节约心脏储备能力的装置。 呼吸机的操作说明

在呼吸机的使用操作中,首先需要选择呼吸机的参数设置,这也要求属于非临床的工程人员和临床医务人员一样,了解呼吸机参数的含义、要求、范围等。现通过介绍呼吸机的基本操作来了解其基本呼吸机的参数设置。

呼吸机的参数设置-通气方式选择:

在选择好呼吸模式后,就要选择或要知道通气方式:

(1)容量控制通气(VCV):设定一个潮气量,由流量×吸气时间来调节。

(2)压力控制通气(PCV):设定一个压力,它是由吸气平台压决定。

呼吸机适用于睡觉打鼾患者、睡眠呼吸暂停患者、肺心病肺气肿患者、阻塞性肺病患者、二氧化碳储留患、严重底氧血症患者、呼吸肌无力患者、运动神经元患者、气管切开通气患者,选用家用呼吸机来辅助治疗或应对紧急发生的情况。本文由北京康迈思科技有限公司,瑞思迈呼吸机专卖提供。

影响呼吸机价格的6大因素

行货正规价格,随大市场环境调价。廉价的水货比行货低20%-40%之间

1. 售前服务

试用、分析数据、信息统计只能提供货到付款

2. 售后服务

呼吸机的维护、数据分析、压力调节等售后服务

3. 主机保修

1-2年各厂家不同2年保修,有些包换

4. 配件保修

3个月以上,各厂家不同无

5. 机器质量

原厂新机保证质量一般是新的

6. 商业风险

机身编码确认后,永远享受厂家提供的服务

各种呼吸机价格详情

瑞思迈S9 AutoSet单水平全自动呼吸机,市场价:11250元 北京康迈思商城售价:¥7500元

瑞思迈S9 VPAP Auto双水平全自动呼吸机,市场价:16200元 北京康迈思商城售价:¥10800元

飞利浦伟康新款M560单水平全自动呼吸机,市场价:8700元 北京康迈思商城售价:¥5800元

呼吸机的基本原理:自主通气时吸气动作产生胸腔负压,肺被动扩张出现肺泡和气道负压,从而构成了气道口与肺泡之间的压力差而完成吸气;吸气后胸廓及肺弹性回缩,产生相反的.压力差完成呼气。因此,正常呼吸是由于机体通过呼吸动作产生肺泡与气道口“主动性负压力差”而完成吸气,吸气后的胸廓及肺弹性回缩产生肺泡与气道口被动性正压力差而呼气,以满足生理通气的需要。而呼吸机通气是由体外机械驱动使气道口和肺泡产生正压力差,而呼气是在撤去体外机械驱动压后胸廓及肺弹性回缩产生肺泡与气道口被动性正压力差而呼气,即呼吸周期均存在“被动性正压力差”而完成呼吸。

根据呼吸机的工作特点,可把其分为以下类型:

1. 定压型呼吸机

吸气时,呼吸机向气道泵入一定压力的气体,使肺泡膨胀,气道压力渐升,达到预定压力时,气流终止,转为呼气相。此类呼吸机的潮气量,与呼吸机预置的压力、吸气时间、流速等有关。如流速低,

吸气时

间短,预定压力低,潮气量则小,反之则潮气量增大。若肺顺应性下降或支气管痉挛使气道阻力增加均可使潮气量下降。

此类呼吸机的缺点是气道压力增加时,潮气量得不到保障,优点是气道有漏气时,它也必须保持一定压力,也能维持适当通气,简言之,此类呼吸机保压力不保容量。

2. 定容型呼吸机

呼吸机将固定的容积气体泵入病人气道及肺部,产生吸气呼气的动作。此类呼吸机的优点是在安全压力范围内,密闭的气道状态下能保证一定的潮气量。缺点是气道漏气无法补偿,气道压力过大同样可发生通气不足。简言之,此类呼吸机保容量不保压力。

定时型呼吸机

为定时、限压恒流型呼吸机,呼吸机产生气流,进入气道达到预定时间,吸气停止,产生呼气。在呼气相,气道内仍有低压力气流通过。其吸气时间、呼吸频率、吸/呼比值、吸入气氧浓度可以调节。

以上分型是基于吸气相与呼气相转换而分类的。亦有按控制方式(电动、气动)、用途分类。还有一类为高频通气呼吸机,其特点是高呼吸频率,低潮气量,非密闭气路运行。 第一节 呼吸机使用相关知识

第二节 血气分析的常用指标及其意义

第三节 各型呼吸机的操作流程

第四节 各型呼吸机常用参数说明列表

第五节 呼吸机的清洗、消毒与管理

第六节 各型呼吸机的消毒与维护

第七节 呼吸机使用的适应证

第八节 人工气道的护理和管理

第九节 机械通气的病情观察

第十节 常见疾病呼吸机治疗特点

第十一节 呼吸机使用的并发症及其防治 第十二节 呼吸机治疗中心的管理 附录一 呼吸机使用常用术语(缩写) 英汉对照

附录二 各型呼吸机外形和操作 面板介绍

篇2:SOFTICE 操作手册

. BPM

E HEAP32

P SRC WMSG

? BPR EC HWND PAGE SS WR

A BPRW EXIT I PAUSE STACK WW

ADDR BPT EXP I1HERE PCI SYM X

ALTKEY BPX F I3HERE PEEK SYMLOC XFRAME

ALTSCR BSTAT FAULTS IDT PHYS T XG

ANSWER C FILE LDT POKE TABLE XP

BC CLASS FKEY LHEAP PRINT SCREEN键 TABS XRSET

BD CLS FLASH LINES PROC TASK XT

BE CODE FORMAT LOCALS QUERY THREAD ZAP

BH COLOR G M R TRACE

BL CPU GDT MACRO RS TSS

BMSG CSIP GENINT MAP32 S TYPES

BPE DATA H MAPV86 SERIAL U

BPINT DEX HBOOT MOD SET VCALL

BPIO DIAL HEAP O SHOW WL

命令: .

作用: 在代码窗口中定位当前指令

语法: .

用法: 当代码窗口可见时 .命令(点命令)使得当前的CS:EIP

所指向的指令可见 并且高亮显示. 另外此命令也把

SoftICE 从其他内存区域中切回原先弹出的内存区域.

详见后面的ADDR命令.

点评:

当你在代码窗口中上下浏览时有可能走得很远 那么

这时一个“.” 命令会让你在下一瞬间回到SOFTICE当前

所在的CS:EIP处再也用不着按PGUPPGDOWN很多次了!

命令: ?

作用: 计算一个表达式的值

语法: ? 表达式

用法:

计算一个表达式的值.并以十六进制十进制带符号的

十进制(<0时有)和ASCII值多种形式显示计算结果.

点评:

一个非常高级的计算器 诸如46578*+ESI 之类的

计算不会再让你烦恼另外由于可以显示ASCII所以可

以很方便地在各种数制之间察看.

命令: A

作用: 写入汇编代码

语法: A [地址]

用法:

用SICE内置的汇编器在内存中写入汇编代码.汇编器支

持标准的80x86指令集.包括386486PentiumPentium

-ProMMX协处理器新版的SICE还支持AMD的3D Now!

PIIPIII的特有指令集.汇编将在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 9600193040

288003840057000115000

其中38400为默认波特率.

.I=INIT MODEM的初始化字符串.

点评: 无没有用过不知道:-(

命令: 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中改动加入WIN.COM.

(可不要在WINICE.EXE后再加WIN.COM!画蛇添足!)

若用SoftICE次数不多的话 可以每次启动WINDOWS后

再重新启动并切换到MS-DOS方式再打WINICE.EXE 这

样也可以的. BH的好处是可以省去纸笔 下次重调试

这个程序时不用再挖空心思想断点了.

命令: BL

作用: 显示当前所设的断点

语法: BL

用法:

BL 命令显示当前所有断点的序号 (这个序号被BC BE

BD 等命令所用)类型是否被禁止等信息.如果是被禁

止的断点会在序号后跟一个“*”号.比如用上面提到的

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 MeSsaGe

WINDOWS本身是由消息驱动的 所以跟踪一个消息会得

到相当底层的答案我主页上一篇“修改RICHWIN4.3”的

文章就是一个例子.

命令: BPE

作用: 编辑一个已存在的断点.

语法: BPE index_number

用法:

index_number: 断点的序号用 BL 命令可以看到.

用BPE命令可以很方便地修改一个已经存在的断点 但

要注意一点: BPE 在执行时会先将你所要修改的断点

清除然后再将改过的使能如果你在修改时按ESC键退

出修改那么原先的断点也就不存在了 修改错误的结

果也是一样的.原先的断点消失.

点评: 参见后面的 BPT 命令.

命令: BPINT

作用: 在某个中断向量上下断点

语法: BPINT int-number [IF expression]

[DO “command1;command2;...”]

用法:

int-number : 中断向量号从0到FFH

IF 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 : 除错寄存器DR0DR1DR2DR3.

IF expression: 条件表达式只有条件为“真”时Sof-

tICE才在断点处弹出.

Do command : 当SICE弹出时自动执行的一些命令.

当verb 为 RWRW时一旦弹出SoftICE停在刚才发生

内存操作的后一条指令处.为 X 时停在将要执行的指

令处.一般没有必要不要带 debug-reg 参数SoftICE

一开始是自动带DR3的以后按顺序为210 只有当你

调试一个DEBUGGER时而此DEBUGGER也用到了DRx才需

特别指定一个防止冲突.

BPM断点如果下在(400000-7FFFFFFF)内那么只有你下

断点时当前的可寻址区域( 见ADDR的点评)被激活才能

发生中断.别的不行.但如果断点下在DLL中这个DLL在

多个地址区域内都存在那么在这多个地址区域内都可

能发生中断简单的例子如KERNEL32.DLL另外size 参

数要紧跟BPM写成BPMDBPMW之类.

点评: 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 参数代替. TTW是记录回溯跟踪的参数 具体

可见TRACE命令.BPR 有时会极大地降低系统效能因为

所有对断点所在页的内存操作都会被SoftICE截获分析

.如果程序中用到频繁的内存操作机器就会相当慢.

当条件满足SoftICE弹出时CS:EIP停在发生内存操作

的那条指令上. BPR 断点是下在当前被激活的页表上

如果你下的RANGE在物理4MB以下断点就会在各虚拟机

中这样BPR就对LDTGDTIDTs页表本身不起作用.

另外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每经过一次断点计数+1

Breaks: 在IF expression子句为真的情况下SoftICE

就会产生动作要么弹出要么记录在内存中

不管怎样计数+1

Popups: 在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否则为No

Action: 如果断点带有附加的动作(即有DO command)

则为Yes否则为No

命令: 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就能派上用场.

命令: DATA

作用: 显示另一个数据窗口

语法: DATA [window-number]

用法:

window-number: 所要选择的窗口号0123

SoftICE最多支持4个数据窗口.每一个窗口可以独立按

自己的格式显示数据. 但同一时刻只能显示一个窗口.

如果用DATA窗口不带任何参数 将按0123的次序显

示各个窗口中的内容.在数据窗口的右上角的横线上有

窗口序号的提示.

点评: 可以很方便地对多个目标的进行观察

命令: DEX

作用: 在数据窗口中显示(或赋予)某个表达式

语法: DEX [data-window-number [expression]]

用法:

data-window-number: 即DATA命令中所讲的0123号

数据窗口

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 : 串行通讯口默认为COM1

BAUD-RATE: 120024004800 9600 19200 23040

2880038400(默认)57000115000

I=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.在代码窗口中时也可用上下光标键PageUpPageDn

来翻页上下浏览.

另外当用户调试源文件时可以用:

Ctrl+Home 到源程序的第一行

Ctrl+End 到源程序的最后一行

Ctrl+左右光标 水平察看源程序

点评: 实际上可以用Ctrl+光标Ctrl+PgUpCtrl+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自动加载KERNELUSERGDI的出口函数

表.你也可以通过WINICE.DAT或SoftICE 的LOADER (加

载器)来加载更多的出口函数列表.

点评:

比较常用的DLLsDRVs都在WINICE.DAT中有了 用户只

要修改为相应的路径就能每次开机自动带入.这样带来

的好处是:

1.可以在反汇编时直接看到调用接口.

2.可以直接在函数上下断点

命令: F

作用: 填充某一块内存区域

语法: F address l length data-list

用法:

length : 字节长度

data-list: 所要填的数据. 可以是用单引号或双引号

括起来的字符串

执行F 命令将向所指定的内存区域填充length 长度的

数据如果数据不够长度将重复数据直到达到长度为

止.

点评: 无

命令: FAULTS

作用: 打开或关闭错误跟踪功能

语法: FAULTS [on | off]

用法:

FAULTS 命令将打开或关闭SoftICE的错误跟踪功能.

不加参数将显示当前的开关状态.

点评:

由于SoftICE做为一个DEBUGGERFAULTS 默认为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 - F12

CF1 - CF12 : Ctrl键加F1 - F12

AF1 - 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=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-addressSoftICE 将从指定的地

址处开始执行否则从当前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 : 描述符特权级0123

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-5fh

GENINT强行产生一个中断用于SoftICE和别的DEBUGGER

协作的时侯如:GENINT nmi 将使SoftICE将控制返还给

CodeView For Dos.(对其他DEBUGGER请尝试0123)

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的状态.缺省为OFF

I1HERE 在与如BoundsChecker 之类的调试工具分工协

作时很有用因为BoundsChecker用到 INT 3为了防止

冲突应使用INT 1. 另外VMMWindows内存管理的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 : 选择符的描述符特权级0123

present bit : P 或 NP 表示该描述符是否在内

存中.

Owner+Offset : 符号名或拥有者名和在它们中的

偏移.

点评: 参见GDTLDT.

命令: 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 : 描述符特权级0123

present 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 行;435060行只适用于VGA卡.

LINES 不带参数将显示当前行数.如果用 ALTSCR 命令

切换显示器输出到单显SoftICE自动转为25行再转回

VGA卡时要手工用 LINES 命令来恢复原值.

点评:

实际上 我的3.20用的是SoftICE自带的通用视频驱动

程序行范围可以从25一直到128 !!(除非为SoftICE开

的显存不够)

命令: LOCALS

作用: 从当前栈中列出局部变量

语法: LOCALS

用法:

输出:

Stack Offset : 栈偏移.

Type definition: 类型定义.

ValueDataor structure symbol({...})

: 值数据或结构符号.

SoftICE根据局部变量的类型来用不同的形式显示它们

如果是指针则显示所指向的数据.如果是结构则显示

结构符号.如果既不是指针又不是结构则显示本身值.

命令: M

作用: 传送数据

语法: M source-address l length dest-address

用法:

source-address: 源数据的起址;

length : 要传送的字节长度;

dest-address : 目的数据块的起址.

用 M 命令将数据块从源地址传送到目的地址.

如M ds:1000 l 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文档在这

写得不是很详细.实际操作情况是多种多样的.

命令: P

作用: 单步执行程序.

语法: P [ret]

用法:

P 命令将单步执行程序.在汇编模式中当遇到 CALL

INTLOOPREP指令时P将不跟踪进去直到这些指令执

行完毕控制才返回SoftICE换句话说P命令是”跨“过

这些指令的.P 后加RET 参数SoftICE将一直单步执行

直到它找到一条返回语句(RETRETF).在源程序模式中

P 命令将执行一个源程序表达式. 但也不跟踪到子例

程中去.P 命令实际上是利用了单步标志 大多数情况

下是如此.但碰到CALLINTLOOPREP指令时就用INT 3

(一次性) 在这些指令的后面设一下.

P 命令有快捷键 F10; P RET 命令有快捷键 F12.

点评: F10可能是按得最多的键了好好保护你的键盘吧!

命令: PAGE

作用: 显示页表信息

语法: PAGE [address [L length]]

用法:

address : 段:偏移量 或 选择符:偏移量 格式的地址

length : 要显示页的数量.

PAGE 命令用来列出当前页目录和各个页表的情况.(在

Windows NT 中可以实现列出多个页目录的情况 这里

就不涉及了) 在x86的体系中 一个页目录包含1024个

页目录项(每个页目录项占4个字节)每个页目录项又指

向一个页表每个页表包含1024个页表项 (每个页表项

也占4个字节)每个页表项指向一个4KB大小的页.所以

这样的体系管理着1024*1024*4=4GB大小的空间.

PAGE 加地址参数将显示映射到相应地址处的页表项的

内容包括以下部分:

.由该页表项映射的页的线性虚拟地址.

.由该页表项映射的页的物理地址.

.该页表项的各种特性比如是否在内存中存取权限等.

这里的特性是CPU架构时确定的.

.该页的类型这个是页表项中的Windows定义位决定的.

PAGE 加地址加L参数将显示连在一块的若干个页表项

但要注意的一点是:PAGE命令在显示这样一块连续页表

项区域时不会跨过页表界线. 也就是说显示出来的页

表项有可能会少这时再用一个PAGE就可.

PAGE 不加参数将显示当前页目录的内容. 第一行显示

页目录的物理和线性地址.后面的每一行显示一个页目

录项的内容.

输出:

physical address: 物理地址.如果显示的是页目录(

即PAGE不加参数)这个地址是页目录项的物理地址即

相应页表的地址. 如果显示的是页表(即PAGE 加地址

参数) 则这个地址是内存中相应页的物理地址.

linear address : 线性地址.如果显示的是页目录(

即PAGE不加参数)这个地址是页目录项的线性地址即

相应页表的地址. 如果显示的是页表(即PAGE 加地址

参数) 则这个地址是内存中相应页的线性地址. 如果

加L参数则此地址是第一个页的线性地址.

attribute :下面是页目录项或页表项的属性:

---------------------

P 在内存中

NP 不在内存中

D 又脏又快的DOS!

A 存取位

U 用户属性

S 管理员属性

R 只读

---------------------

type :每个页表项在架构中都留有一个

3bit的OS字段 作系统利用

Windows就定义如下的类型:

---------------------

System Private

Instance Relock

VM Hooked

---------------------

系统 私有

实例 重锁

虚拟机 钩子

---------------------

点评: 无

命令: PAUSE

作用: 满屏后是否暂停显示

语法: PAUSE [ON | OFF]

用法:

PAUSE 命令将控制是否在SoftICE命令显示输出到达满

屏后暂停.默认PAUSE 为ON即在满屏时暂停. PAUSE命

令不加参数将显示当前状态.

点评: 也可用SET PAUSE [ON|OFF]

命令: PCI

作用: 显示系统中每个PCI设备的情况.

语法: PCI

用法:

PCI 命令显示系统中每个PCI设备的配置寄存器内容.

不要在非PCI的系统上使用这个命令. 大多数输出的内

容都一目了然少数的没有说明可以参考PCI详细的说

明书.

点评: 我倒是用它来看显卡的制造商.

命令: PEEK

作用: 从物理内存中读数据

语法: PEEK[size] address

用法:

size : B 字节(默认值);W 字;D 双字;

address: 物理内存地址.

PEEK 命令显示从指定物理内存中来的指定大小的数据

PEEK 命令在读取内存映象的I/O 寄存器的值时很有用.

点评: 参见POKE

命令: PHYS

作用: 显示某个物理地址对应的所有虚拟地址.

语法: PHYS physical-address

用法:

physical-address: 物理地址 是由x86的分页机构转

换来的.这个物理地址是传到计算机的总线上的地址.

而且在操作内存映象的硬件设备时(如显存 )显得特别

重要.

Windows用x86体系的虚拟寻址方式在虚拟地址(被程序

用到)和物理地址(被硬件设备用到)之间建起一座桥梁.

在很多情况下一段物理地址可能出现在多个页表项中

所以就存在一个物理地址对多个虚拟地址.

SoftICE在表达式中不接受物理地址所以应用PHYS 命

令来进行转换.

点评: 无.

命令: POKE

作用: 向物理内存写数据.

语法: POKE[size] address value

用法:

size : B 字节(缺省值);W 字;D 双字

address: 物理内存地址;

value : 要输出字节字或双字.

POKE 命令将往指定的物理内存地址处写指定大小的数

据.这对在写内存映象的I/O 寄存器的值时很有用.

点评: 无

命令: Print Screen键

作用: 打印屏幕内容

语法: 按下PrintScreen键

用法:

这个功能将SoftICE屏幕上的内容输出到打印机. 默认

的打印机端口是LPT1.可以用PRN命令来改变打印端口.

由于SoftICE对外设的读写是直接往I/O端口的所以这

个功能只能用于直接联接在COM口或LPT口上的设备而

不支持网络打印.

也可以用SoftICE Loader将内容记录到文件中去.

点评:

打印机我没有试过可用Loader将内容都记录下来是非

常不错的有时记录一段小代码不必动用w32dasm了用

Loader就可以代替非常好的我推荐您试一下!!!!

命令: PROC

作用: 显示系统中所有进程的简要信息

语法: PROC [-xo] [task]

用法: -x: 即-eXtended : 显示每个线程的扩展信息

-o: 即-Objects : 显示在进程句柄表中的对象列表

task : 任务名

输出:

Process : 任务名

pProcess : 指向进程数据库的指针

Process ID : 进程的Ring 3的ID

Threads : 进程所拥有的线程数量

Context : 地址区域

DefHeap : 缺省堆

DebuggeeCB : 调试块

点评: 无

命令: QUERY

作用: 显示某个进程的虚拟地址映象

语法: QUERY [[-x] address] | [process-type]

用法:

-x : 显示某个线性地址在所有有效的地址区

域中的内存映象

address : 线性地址

processtype: 可被解释成进程的表达式

QUERY 命令可以显示某个进程的虚拟地址映象或某个

线性地址的映象.如果QUERY命令不加任何参数将显示

当前进程的映象.

输出:

Base : 指向连续页的基址

AllocBase : 由VirtualAlloc函数申请的内存的基址

AllocProtect:在申请时被指定为存取保护

Size : 有相同特性的页组成的内存区的大小Bytes

State : 内存区中页的状态:

----------------------------------

.Commit 受委托的页意即物理定位的.

.Free 空闲的页可以被申请

.Reserve 保留

----------------------------------

Protect : 当前存取保护

Owner : 内存区的所有者

Context : 地址区域

点评: 无

命令: R

作用: 显示或更改寄存器的内容

语法: R [-d | register-name | register-name [=] value]

用法:

register-name: 以下任何一种:

----------------

ALAH AXEAX

BLBH BXEBX

CLCH CXECX

DLDH DXEDX

DIEDISIESI

BPEBPSPESP

IPEIPFLDS

ESSSCSFSGS

----------------

value : 将要修改的寄存器内容.寄存器名除 FL

(标志寄存器)以外其他所有的都是 16

进制的值.如果是FL的话value应如下:

----------------

O 溢出位

D 方向位? I 中断位? S 符号位

Z 零标志

A 辅助进位

P 奇偶位

C 进位标志

----------------

在相应的标志前加”+“”-“号表示打开或关闭

如: R FL +O 将溢出标志置位.如果不带”+-“

号则将当前的状态反转.

-d :在命令窗口中显示寄存器的值.

如果 R 命令不加参数光标将移到寄存器窗口中进行

实时修改.如果当前寄存器窗口不可见 那么这个命令

将自动显示它.

另外修改FL寄存器时参数不必按照顺序如:

R fl=o+a-c 一次修改3个标志位.

点评: 无.

命令: RS

作用: 暂时恢复程序屏幕

语法: RS

用法:

RS 命令允许用户暂时恢复程序的视屏画面. 这个命令

在调试频繁更新屏幕的程序时特别有用.当显示出程序

的原画面后可以按任意键返回SoftICE.RS有个快捷键

F4.

点评: 无.

命令: S

作用: 在内存中搜寻特定数据

语法: S [-cu][address L length data-list]

用法:

address :搜索的起始地址

length :搜索的长度(字节长)

data-list:可以是一系列字节也可以是字符串 字符

串可以用单引号也可以用双引号括住.

-c :使查找区分大小写

-u :查找Unicode 编码的字符串.

S 命令将从指定的内存地址开始查找指定内容的数据

一直到超过指定的长度为止.如果查到相应数据会在

当前的数据窗口中显示它并在命令窗口中显示信息.

想要继续查找则只要打入 S 即可不需另外带参数.

S 命令忽略被标记为不在内存中的页. 想搜索一大段

内存的话请用一马平川的30做为选择符.

点评: 无.

命令: SERIAL

作用: 将控制台转移到串口终端上

语法: SERIAL [on [com-port] [baud-rate] | off]

用法:

com-port : 从1-4分别代表COM1COM2COM3COM4

其中COM1是默认值.

baud-rate: 波特率默认值由SoftICE自动侦测. 可能

值为:12002400480096001920023040

288003840057000115000.

用一条电缆将两台机器的COM口联起来 有被调试程序

的机器称为本地机(local) 另一台做为控制台的机器

称为远程机(remote).在联接前 远程机上必须运行软

件包中的serial.exe程序所以远程机至少要是MSDOS

操作系统.Serial.exe 程序的命令格式和Serial 指令

的格式一致. 当联接建立后本地机的屏幕将恢复被调

试程序的屏幕(即windows屏幕) 而远程机将显示Sof-

tICE的调试窗口.电缆的做法如下:

25Pin的电缆

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

远程 本地

2 ---------------------- 3

3 ---------------------- 2

4 ---------------------- 5

5 ---------------------- 4

6 ---------------------- 20

8 -----^

20---------------------- 6

^------- 8

7 ---------------------- 7

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

9 Pin的接法:

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

本地 远程

2 ---------------------- 3

3 ---------------------- 2

5 ---------------------- 5

7 ---------------------- 8

8 ---------------------- 7

6 ---------------------- 4

1 ------^

4 ---------------------- 6

^------ 1

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

注:表中的^代表相接.如上面的

表示6和1先相接再接对方的4

远程机上总可以用CTRL+D 来激活调试.

结束调试可以在远程机上打入SERIAL off

远程机要退出serial.exe程序可以用CTRL+Z

点评: 无

命令: SET

作用: 显示或改变SoftICE的内部参数

语法: SET [keyword] [on | off] [value]

用法:

keyword : 内部变量

value : 有些变量有数值量不是简单的ONOFF

Set 命令用来设置SoftICE的内部变量. 不加参数将显

示所有这些变量的当前状态 只加keyword将只显示当

前变量的状态.

变量列表

----------------------

ALTSCR [ON|OFF]

CASESENSITIVE [ON|OFF]

CODE [ON|OFF]

EXCLUDE [ON|OFF]

FAULTS [ON|OFF]

FLASH [ON|OFF]

I1HERE [ON|OFF]

I3HERE [ON|OFF]

LOWERCASE [ON|OFF]

MOUSE [ON|OFF][123]

PAUSE [ON|OFF]

SYMBOLS [ON|OFF]

TABS [ON|OFF][12345678]

THREADP [ON|OFF]

VERBOSE [ON|OFF]

----------------------

CASESENSITIVE ON 将使符号名对大小写敏感

MOUSE 允许或禁止使用鼠标.还可以设定鼠标移动的速

度1最慢3最快2是中速也是缺省值.

SYMBOLS ON 将允许反汇编器在代码中显示符号名. 如

果为OFF将只显示数字化的地址等.

其余见它们各自的命令解释.

点评: 无.

命令: SHOW

作用: 列出回溯跟踪历史缓冲区中的指令

语法: SHOW [B | start] [l length]

用法: start : 十六进制的值 用以确定从回溯跟踪缓冲区

开始反汇编的指令序号. 为 1表示是缓冲区

中的最新一条指令.

length : 显示几条指令.

SHOW命令将从SoftICE的回溯跟踪历史缓冲区中显示指

令.如果有源程序的话将显示源程序与反汇编代码若

没有则只显示汇编指令.

结果将在命令窗口中显示所有指令都有一个数字前缀

用来表示指令的序号.1 是最新的指令. 可以用上下光

标键来浏览用ESC键退出.

SHOW 不带参数或加B 参数将从缓冲区中最旧的一条指

令开始显示. SHOW 带序号参数将从指定的序号开始显

示指令.

SHOW 命令只在回溯跟踪历史缓冲区不为空时才有用.

用BPR 的 T TW参数来装满它!

点评: 无

命令: SRC

作用: 在源程序反汇编代码两者混和之间切换显示.

语法: SRC

用法:

SRC 命令将在程序源代码反汇编后的指令 或两者混

合之间来回切换显示.SRC 的快捷键为 F3.

点评:

注意:要在当前程序有源文件时这一功能才能奏效 例

如:用BORLAND C编程序时所调试的程序example.c;

example.objexample.exe 都存在才可以.

命令: SS

作用: 在源程序文件中查找字符串

语法: SS [line-number] ['string']

用法:

line-number :十进制数的行号

string :用引号括起来的字符串

SS 命令将从指定的line-number(行号)开始在当前的

源程序文件中查找字符串.如果查找到附合要求的数据

将在代码窗口的第一行处显示.

如果不指定行号则SS将从当前代码窗口的第一行处开

始查找.不带任何参数的SS命令将继续上次的查找.

注意:在用SS命令之前必须使代码窗口可见 并使代码

窗口显示源程序文件才可.

点评: 无.

命令: STACK

作用: 显示某个调用栈

语法: STACK [task-name | SS:[E]BP]

用法:

task-name :可以用TASK命令看到的任务名

SS:[E]BP :某个有效的栈框的SS:[E]BP值

STACK 命令用来显示DOS程序Windows任务 32位代码

的调用栈.STACK命令不加参数的话当前的SS:[E]BP的

值被默认为栈框的基址.也可以加任务名或SS:[E]BP来

明确指定一个.

点评: 无.

命令: SYM

作用: 显示或设置符号

语法: SYM [[section-name] ! ] symbol-name [value]]

用法:

section-name : 有效的区段名.可以只打部分字母.

区段名后要加!号如: SYM .TEXT!

将显示可执行文件中.TEXT区段的

所有符号.

! : 如果只加参数 ! 将只显示此符号

表中的模块.

symbol-name : 有效的符号名可以加*来模糊寻找.

value : 用来将某个符号设为某个指定地址.

SYM命令用来显示和设置符号地址.SYM命令在找寻某个

你或许只记得部分名字的符号时特别有用可以用* 来

代替末尾的字符也可以用 (逗号)来代替某一个字符

点评: 无.

命令: SYMLOC

作用: 重定位符号基址

语法: SYMLOC [segment-address | o | r | -c process-type | (section-number selector linear-address)]

用法:

segment address :段基址只在DOS中有用

o :对16位的表起作用.使所有选择符

恢复原序

r :对16位的表起作用.改变所有段值

为适当的选择符.

-c :指定一个context值.

section-number :32位表.PE文件中从1开始的区段

selector :32位表.保护模式的选择符

linear-address :32位表.区段的基址

SYMLOC 命令可对一个已装载的符号表进行调整.

点评: 无

命令: T

作用: 单步跟踪

语法: T [=start-address] [count]

用法:

count :指定SoftICE将单步跟踪多少次才停止.

T 命令是利用CPU的单步标志来进行单步跟踪的.

如果指定 start-addressSoftICE 将从指定的地址处

开始单步跟踪.如果寄存器窗口可见 则寄存器窗口将

高亮显示哪些改变的寄存器的值.

点评: 无.

命令: TABLE

作用: 改变或显示当前符号表

语法: TABLE [partial-table-name] | autoon | autooff | $

用法:

partial-table-name:符号表的名字或开头的几个字符

autoon :用来打开自动符号表切换功能

autooff :用来关闭自动符号表切换功能

$ :用$ 来表示切换到当前指令所在

的表中.

TABLE 命令当你有多个符号表装入内存的时侯很有用.

SoftICE支持1632位WINDOWS程序DLLsVxDsDOS程序

DOS设备驱动程序TSRs.

每一时刻只能从一个符号表中取得符号你若是要用某

个符号表中的符号必须先用TABLE命令选中!

关键字AUTOON将使SoftICE每次弹出都自动切换到当前

指令所在的符号表中.而AUTOOFF正相反.

点评: 无.

命令: TABS

作用: 显示或修改在显示源文件时TAB键的宽度

语法: TABS [tab-setting]

用法: tab-setting : 从1到8表示TAB键的跨度

用TABs命令或SET TABS都可设置TAB键的跨度(列) 默

认值是8. TAB 命令不加参数将显示当前的TAB键设置.

点评: 不过我用的3.20默认是4

命令: TASK

作用: 显示Windows任务列表

语法: TASK

用法:

TASK 命令将显示当前机器中运行的所有任务. 当前的

任务前面会有一个 * 号.这个命令在WINDOWS出现所谓

的general protection fault 时可以帮助你确定是由

哪个任务引起的.输出:

Task Name :任务名

SS:SP :该任务最后交出控制时的堆栈地址.

StackTop :堆栈偏移的顶

StackBot :堆栈偏移的底

StackLow :当产生地址切换时最低的SP值

TaskDB :任务数据基址的选择符

hQueue :任务的队列句柄.

Events :队列中事件

点评: 无.

命令: THREAD

作用: 显示线程信息

语法: THREAD [TCB | ID | task-name]

用法:

TCB :线程控制块

ID :线程ID

task-name :当前运行的32位过程.

THREAD 命令将显示某个线程的信息.

如果不带任何参数将显示当前系统中所有活动的线程

如果将某个进程名作为参数将显示所有该进程的线程

如果指定TCB或ID则 只显示指定的线程.

Ring0TCB :Ring-0线程控制块的地址.

ID :VMM线程ID

Context :该线程所属进程的context句柄

Ring3TCB :Ring-3线程控制块的地址

ThreadID :Ring-3线程ID

Process :拥有该进程的KERNEL32进程数据库的地址

TaskDB :任务数据的选择符

PDB :程序数据的选择符(PSP)

SZ :线程的大小(1632)

Owner :进程的所有者.

点评: 无.

命令: TRACE

作用: 进入或退出摹拟跟踪模式

语法: TRACE [b | off | start]

用法:

start :16进制的值.用来表示回溯跟踪历史缓冲区中

指令的序号.1 表示最新的一条指令.

TRACE 命令不带参数将显示当前摹拟跟踪的状态.

TRACE OFF 将退出当前的摹拟跟踪模式回到正常的跟

踪模式下.

TRACE B 从最老的一条指令开始摹拟跟踪. TRACE 加

数字将从指定的序号开始摹拟跟踪.

只有当回溯跟踪历史缓冲区不为空时才能用TRACE命令

参见BPR命令的说明.

回溯(摹拟)跟踪中可以用XTXPXG来跟踪程序寄存器

窗口中除了EIP改变外其他的都不变因为SoftICE 在

回溯跟踪中不记录所有寄存器的值.SoftICE 的命令除

了 XTGPHEREXRSET不能在回溯跟踪模式下用外其

他都可以使用.

点评: 无.

命令: TSS

作用: 显示任务状态段和I/O端口的挂接

语法: TSS [TSS-selector]

用法:

TSS-selector :任何代表是个TSS的GDT选择符

TSS命令通过读取TR命令来获得地址 从而显示任务状

态段的内容.用GDT命令可以看到TSS选择符.如果TSS命

令不加参数将显示当前的TSS.

输出:

TSS selector value :TSS选择符

selector base :TSS的线性地址

selector limit :TSS的大小

下面四行显示TSS中寄存器的内容:

LDT GS FS DS SS CS ES CR3

EAX EBX ECX EDX EIP

ESI EDI EBP ESP EFLAGS

Level 0 1 and 2 stack SS:ESP

下面将显示被VxD挂接的I/O端口

port number :16位的端口号

handler address :32位的I/O句柄地址

handler name :句柄的符号名.

点评: 无.

命令: TYPES

作用: 列出当前内存区域(context)中的类型名

语法: TYPES [type-name]

用法:

type-name : 显示指定的类型名

TYPES 命令不加参数将显示当前所有的类型名.如果加

参数将只显示所指定的类型.如果参数是个结构TYPES

将自动展开结构并显示其成员.

点评: 无

命令: U

作用: 反汇编指令

语法: U [address [l length]] | [symbol-name]

用法:

address : 段:偏移量或选择符:偏移量

symbol-name : 将从指定的函数开始反汇编

length : 反汇编的长度(字节)

U 命令将从指定地址开始反汇编指定长度的指令.如果

代码窗口可见则显示结果将在代码窗口中 否则在命

令窗口中. U 命令跟symbol-name(符号名)如果当前符

号表装载的话U 命令可以从指定的符号地址开始反汇

编.

点评: 可用U在命令窗口中反汇编再用LOADER32存盘

命令: VCALL

作用: 显示VxD可调用例程的名字和地址

语法: VCALL [partial-name]

用法:

partial-name:符号表的名字或开头的几个字符.

VCALL 命令将显示Windows VxD API例程的名字和地址.

这些例程是Windows本身的VxD提供的并为为其他VxD准

备的.所显示的地址只有当VMM VxD初始化过后才有效

如果SoftICE的初始化字符串中没有一个 X;SoftICE将

在Windows启动但VMM没有初始化时弹出.

命令: WL

作用: 打开或关闭本地窗口;设置本地窗口的大小

语法: WL [window-size]

用法: window-size : 十进制的行数

WL 命令不加参数将使本地窗口在打开与关闭状态之间

切换.WL 命令加参数将使本地窗口改变为指定大小.

所谓本地窗口也可称局部(变量)窗口 它是从当前栈

中取的.

点评: 无

命令: WMSG

作用: 显示Windows消息的名字和消息代码

语法: WMSG [partial-name| msg-number]

用法:

partial-name : Windows 消息名或消息名的前几个字符.

msg-number : 十六进制数消息代码

WMSG 用来察看Windows消息名和消息代码.这个命令在

和BMSG配合下断点时非常有用.WMSG不加参数将显示所

有Windows消息的名字如果加partial-name和msg-num

参数则只显示附和条件的消息.

点评: 无.

命令: WR

作用: 打开或关闭寄存器窗口

语法: WR

用法:

如果当前寄存器窗口不可见 那么WR命令将使之可见

反过来WR命令将使寄存器窗口不可见.

寄存器窗口显示80386寄存器集CPU的FLAGS.

该命令有快捷键 F2.

点评: 无.

命令: WW

作用: 打开或关闭监视窗口;或改变监视窗口的大小

语法: WW [window-size]

用法:

window-size : 十进制的窗口行数

WW 命令不加参数 将使监视窗口在打开和关闭的状态

之间切换.WW命令加参数将使监视窗口改变为指定大小.

另外 ALT+W键将使光标在监视窗口和命令窗口之间来

回切换.

参见 WATCH

点评: 无.

命令: X

作用: 从SoftICE窗口中退出

语法: x

用法:

X 命令将退出SoftICE将控制交还给刚才被SoftICE中

断的程序.SoftICE的窗口将消失若有断点的话再弹出.

用SoftICE呼叫热键(默认CTRL+D)或在窗口中键入G 命

令所取得的效果和 X 的效果一样.

点评: 无.

命令: XFRAME

作用: 显示当前的异常出错句柄框

语法: XFRAME. [except-frame* | thread-type]

用法:

except-frame* : 指向异常出错框的指针

thread-type : 代表一个线程

异常出错框是由微软结构化异常出错处理API建立的.

点评: 无

命令: XG

作用: 在模拟(回溯)跟踪状态中运行程序到某一地址

语法: XG [r] address

用法:

XG 命令意思是在模拟跟踪状态中的G命令.R 参数表示

在回溯跟踪历史缓冲区中往回走.

点评: 无.

命令: XP

作用: 在模拟跟踪模式中执行程序

语法: XP

用法:

XP 命令在模拟跟踪模式中单步执行(P)

点评: 无.

命令: XRSET

作用: 重置回溯跟踪历史缓冲区

语法: XRSET

用法:

XRSET 必须用在非模拟跟踪模式中用来清除历史缓冲

区.

点评: 无.

命令: XT

作用: 在模拟跟踪模式中单步跟踪程序

语法: XT

用法:

XT 命令在模拟跟踪模式中单步跟踪程序

参数 R 表示反方向.

XT和XP的区别参见P命令.

点评: 无.

命令: ZAP

作用: 将内嵌的INT 1INT 3清为NOP

语法: ZAP

用法:

ZAP 命令在跟踪程序时将程序中的INT 1INT 3指令换

为相等数量的NOP这在用户为了调试程序方便而在程序

中加杂INT 1或INT 3指令过后又不想要时特别有用.

需注意:只有当INT 1INT 3出现在当前CS:EIP的前一条

指令位置处才有用.

(编辑:天命孤独)

篇3:TRW2000 操作手册

. CODE

HWND PRET

TRTCB

? D IDT PROC U

ADD E LDT R VCALL

ADDR EC LINES RS VER

BC EXP MakePE S VM

BD EXP16 MOD16 SRC VXD

BE EXP32 MOD32 SRCLINES VXDSYM

BL FKEY NAME SS W

BP FILE P Suspend WC

BPE FONT PAGE SYM WD

BPIO G PageIn T WMSG

BPM GDT PDLL32 TABLE WR

BPMSG H PEDump task WS

BPMX HBOOT PHYS thread X

BPX HELP PMODULE TRNEWDOS

CLEARDR HotKey PNEWSEC TRNEWTCB

命令: .

作用: 代表当前值(如当前进程,当内存区域等)

用法:

命令: ?

作用: 帮助,相当于“HELP”或“H”命令

用法:

命令: ADD STACK|DATA|DASM

作用: 增加一个堆栈/数据/反汇编窗口

用法: 例:ADD STACK

ADD DATA

ADD DASM

命令: ADDR 内存句柄|过程名

作用: 显示或是切换内存区域

用法: 用来察看某一个任务的私有内存区域 或是加参数[内存区域句柄|过程名]在TRW2000中切换某一任务的私有内存区域为当前可寻址的内存区域,

一些参数的显示:

.HANDLE 内存区域控制块的地址

.PGTPTR 每个任务私有页表的起址

.TABLES 每个私有页表中的表项数目

.MINADDR 每个任务的线性地址的起址

.MAXADDR 每个任务的线性地址的终址

.MUTEX VMM用于页表管理的句柄

.OWNER 使用这块内存区域的实例的名字。如果有多个相同名字的实例运行,ADDR带OWNER名字切换的话,切到表中的第一个有此NAME的实例所占的内存区域。所以带HANDLE切换的话比较精确。

当用ADDR加参数后,可以用上面提到过的”.“命令来回到TRW2000弹出时所属的任务内存区域。

命令: BC list|*

作用: 清除一个或多个断点

用法: 清除断点后,用BL命令就看不到断点列表,且被清除的断点不再起作用。

参数: list: 可以是将要清除的一系列断点,中间用空格或逗号隔开。

*: 清除所有的断点。

命令: BD list|*

作用: 使一个或多个断点失效

用法: 使某个断点失效与 BC 命令的清除不同,暂时失效的断点可以用 BE 命令来恢复。而 BC 命令是彻底清除

参数:list: 可以是单个,也可以是一系列断点,中间用空格或逗号隔开。

*: 禁止所有的断点。

命令: BE list|*

作用: 恢复被 BD 命令使之失效的断点。(每当新定义断点或编辑断点时,系统自动将其置为有效)

用法: 参数:list: 可以是单个,也可以是一系列断点,中间以空格或逗号隔开。

* : 恢复所有的断点。

命令: BL

作用: 显示当前所设的断点

用法: 用 BL 命令显示当前所有断点的序号(这个序号就是使用BC BD BD等命令时要指定的)、类型、是否被禁止等信息。如果是被BD禁止的断点,会在序号后出现一个”*“号。

命令: BP [address][if (condition)]

作用: 设置通过执行地址或所设条件激发的断点。

用法: 例:BP if (eip>10000)

命令: BPE number

作用: 编辑一个已存在的断点。

用法: 用BPE命令可以很方便地修改一个已经存在的断点。

但要注意一点: BPE 在执行时会先将你所要修改的断点清除然后再将改过的使能。

如果你在修改时按ESC键退出修改那么原先的断点也就不存在了 修改错误的结果也是一样的,会造成原先的断点消失。

命令: BPIO port

作用: 设置一个由I/O端口触发调试寄存器断点。

用法: 相关内容: BreakPoint Overall

命令: BMSG hwnd [msg]hwnd为句柄 msg为用于触发的消息

作用: 设置由Windows消息触发的断点

用法: BPMSG hwnd [msg]

相关内容:

WMSG

BreakPoint Overall

例:BMSG 12c wm_destroy

命令: BPM address R

BPM address W

BPM address X

作用: 通过DRx设置一个硬件断点;相关内容: BreakPoint Overall

用法:

命令: BPMX 地址

作用: 通过DRx设置一个可执行的断点

用法: 等同于命令 'BPM address X'

命令: BPX [[seg:]address]

BP [[seg:]address]

作用: 执行时断点;TRW 会在代码中相应位置插入一条 int3(0xcc) 指令。

用法: 相关内容:

BreakPoint Overall

BPMX

命令: CLEARDR 清除DRx寄存器

作用:

用法:

命令: CODE [ON|OFF|number]

作用: 设置代码窗口的显示方式

用法: 设为ON则显示16进制的机器码,设为OFF则不显示16进制的机器码

number决定显示代码的风格(方式),可以以各种方式显示

命令: D [address]

作用: 将内存某处的内容映像到数据窗口或者将内存某处的内容映像到文件中。

用法: D range >56125628.htm

例:

d 401000

d cs:402000

d 401000402000 >myfile

d 401000 L 100 >myfile

命令: E [address [partern]]

作用: 编辑内存

用法: 例: E ds:edi 'nothing'0

命令: EC

作用: 打开或关闭子窗口

用法: 如果当前子窗口不可见,那么EC命令将打开它,反过来,EC命令将关闭它。

命令: EXP

作用: 显示一个模块所有的API。

用法: EXP !

Exp module-name!

Exp partial_export_name

搜索所引用的所有模块输出的 API 函数名

EXP !

Exp kernel32!

Exp *

Exp Get*

Exp *window*

命令: EXP16

作用: 显示16位的exp

用法:

命令: EXP32

作用: 显示32位的exp

用法:

命令: FILE [source-200456125628.htm]

作用: 选择/显示源文件。

用法:

命令: FONT 1|2

作用: 设定TRW2000用于显示的字体,默认为2。

用法:

命令: FKEY [function-key strings]

作用: 显示/设置功能键

用法: 例:

FKEY

FKEY f10 ”d 2;U 3;“

命令: G

作用: 运行

用法: G address ;运行到由address指出的地址 等同于 'gox address'命令

G if conditions ;如果 conditions 满足则运行

命令: GDT [Selecter]

作用: 显示指定全局选择子GDT的详细信息。

用法:

命令: H [command]

作用:

用法:

命令: HELP [command]

作用: 显示所有命令的帮助,后面跟命令名则显示该命令的详细说明。

用法:

命令: HOTKEY

作用: 显示当前有效的热键,也可以显示新按键。

用法:

命令: HBOOT

作用: 重新热启动计算机

用法: HBOOT 将重新启动计算机,等同于按 Ctrl+Alt+Del 组合键。

HBOOT 一般都能成功只有特殊情况下(某些插卡需要重加电)才用机器上的RESET或POWER键

命令: HWND [HWND]

作用: 显示Winodws句柄信息。

用法:

命令: IDT number

作用: 显示IDT的信息

用法:

命令: LDT number

作用: 显示LDT的信息

用法:

命令: Page [address [L length]]

作用: 显示页表信息。

用法: address : 段:偏移量 或 选择符:偏移量 格式的地址

length : 要显示页的数量.PAGE 命令用来列出当前页目录和各个页表的情况.

命令: PageIn

作用: 将非当前页调入内存。

用法: 例:PageIn cs:401000

命令: LINES [25 | 43 | 50 | 60]

作用: 设置/显示当前显示的屏幕行数。

用法: 例: lines 43

相关主题:

Ini file

命令: MOD16 [hmod|mod_name]

作用: 显示16位模块列表,如果后跟mod_name则显示指定模块的详细信息。

用法: MOD16

MOD16 1cf

MOD16 KERNEL

MOD16 . ; .是指当前模块

命令: MOD32 [hmod|mod_name]

作用: 显示32位模块列表,如果后跟mod_name则显示指定模块的详细信息。

用法: MOD32

MOD32 1cf

MOD32 KERNEL32

MOD32 . ; .是指当前模块

命令: MAKEPE

作用: 从内存中整理出一个名为 'newpe.exe' 的PE格式的exe文件。

用法: 每次使用该命令前应先删除当前目录下的 'newpe.exe' 否则 TRW2000 会将新的文件附加在原文件的后面。当前的 EIP 将成为新的程序入口。

该命令将在当前目录下生成文件,但生成文件的 Import table 已经重新生成过了。

命令: NAME address newname

作用: 定义指定地址的新符号名

用法:

命令: PDLL32

作用: 运行到32位的 DLL 的入口。

用法: PDLL32 mydll32.dll

命令: PEDUMP

作用: 将PE文件的内存映像直接映像到文件'DUMP1.EXE',

用法: 您只要使用 MakePE 命令就可以重新整理出一个可用的 PE 可执行文件来。

命令: BP if condition

作用: 条件断点,当条件满足时产生中断

用法: 例: bp if (eax>=3456787)

bp if (dx<543)

bp if (ch==23)

go if (ah!=34)

命令: P 单步跟踪指令

作用: P 命令将单步执行程序。在汇编模式中,当遇到 CALLINTLOOPREP指令时,P将不跟踪进去直到这些指令执行完毕,控制才返回TRW2000。换句话说,P命令是”跨“过这些指令的。

P 后加RET 参数,SoftICE将一直单步执行直到它找到一条返回语句(RETRETF)。在源程序模式中,P 命令将执行一个源程序表达式,但也不跟踪到子例程中去。

P 命令实际上是利用了单步标志。 大多数情况下是如此.但碰到CALLINTLOOPREP指令时,就用INT 3(一次性)在这些指令的后面设一下。

用法: P 命令对应的有快捷键 F10

命令: PNEWSEC

作用: 运行直到进入一个 PE 程序内存的新的 section (这个词不知如何描述:D)时产生断点

用法:

命令: PMODULE

作用: 'pret'(相当于按<F12>) 直至CS:EIP位于模块中。

用法:

命令: PRET

作用: 运行到遇到 RETRETFIRET指令时停下。

用法: 快捷键: F12

命令: PROC

作用: 显示进程列表

用法: output:

:proc

Process pProcess ID Threads Context

-------- -------- -------- ------- --------

Trw2k 81641D9C FFFB0415 1 C8070F70

Iexplore 81638644 FFFC9FCD 4 C80EA130

WINOLDAP 81636FE0 FFFC7669 1 C17D9E80

Spool32 8162C990 FFFDD019 2 C80711A0

KERNEL32 81702204 FFEF3B8D 8 C151CEA0

Mdm 8161B708 FFFEAE81 2 C17E4DC0

Osa 81615458 FFFE4DD1 1 C17DC0D0

RUNDLL 816239D8 FFFD2051 1 C807C010

Internat 8161A9A4 FFFEB02D 1 C17D5140

Systray 81616B5C FFFE72D5 1 C17C1E10

Taskmon 81616080 FFFE7909 1 C17B9790

Explorer 8160E6A0 FFFFFF29 4 C153FCC0

Mstask 8160D390 FFFFCA19 2 C152C9E0

Mprexe 8160720C FFFF6B85 1 C15274F0

MSGSRV32 8160603C FFFF79B5 1 C1442F90

命令: R [-d | register-name | register-name [=] value]

作用: 显示或更改寄存器的内容,

用法: 如果 R 命令不加参数,光标将移到寄存器窗口中,进行实时修改。如果当前寄存器窗口不可见, 那么这个命令将自动显示它。

另外修改FL寄存器时参数不必按照顺序如: R fl=o+a-c 可以一次修改3个标志位。

命令: RS

作用: 显示用户屏幕。 (快捷键为<F4>).

用法:

命令: S

作用: 在内存中搜索指定内容

用法: 例: S 0 L -1 'window'

S 100200 'bug12'34

命令: SRC

作用: 切换源代码模式,可以是源代码|混合代码|单纯的可执行代码

用法:

命令: SUSPEND

作用: 暂停当前的线程,并退出 TRW2000,按热键返回。

用法:

命令: SYM

作用: 显示所有的调试符号列表。

用法:

命令: T [startaddress][count]

作用: 单步跟踪指令。 T 命令是利用CPU的单步标志来进行单步跟踪的。如果指定 startaddress,将从指定的地址处开始单步跟踪。如果寄存器窗口可见,则寄存器窗口将高亮显示哪些改变的寄存器的值。

用法: 快捷键为<F7>

命令: TABLE [table name]

作用: 选择/显示调试符号表

用法:

命令: TASK

作用: 显示任务列表

用法: output:

:task

W16TDB TaskName THCB Ring0TCB TDBX

------ -------- -------- -------- --------

39E6 Trw2k 81643454 C8095D30 C8092650

3EAE WINOLDAP 816371E4 C80BC9F0 C17DC9E0

0FCE Spool32 8162CB7C C152A970 C8081730

00CF KERNEL32 817022DC C29202B0 C1415CF0

2FCE Mdm 8161B930 C17E4EF0 C17DEE40

2A16 Osa 81625884 C17DC290 C17DC170

2E56 RUNDLL 8161FD80 C807C1D0 C807C0A0

305E Internat 8161ABA0 C17D5320 C17D51F0

21DE Systray 81616D00 C17C1BC0 C17C1EC0

226E Taskmon 81616294 C17B9970 C17B9840

2466 Explorer 8160E8B0 C153FEA0 C153FD70

265E Mstask 8160D5A8 C152AE60 C152A150

1D8E Mprexe 81607434 C1528AB0 C1526C40

1FC6 MSGSRV32 8160620C C144B0A0 C14D1390

命令: THREAD

作用: 显示线程的有关信息。

用法: 例:

THREAD [TCB]

THREAD . ; .代表当前线程

THREAD c1547690

output:

:thread

Ring0TCB ID Context Ring3TCB ThreadID Process TaskDB PDB SZ Owner

c1574d40 7f c1574b60 81641d88 fffb069b 81641b68 1BEE 1BE7 32 *Trw2k

c152cbb0 2a c152ca60 8162a678 fffdbd6b 8160fee0 2CAE 2C7F 16 *WINOLDAP

c1547690 21 c1548cc0 81623a94 fffd2187 8162383c 307E 3077 16 *RUNDLL

c15245b0 8 c1431fc0 8160b2b4 ffffa9a7 81709204 00C7 00D7 32 KERNEL32

c14167d0 2

c29202b0 1 c1431fc0 817092dc ffef89cf 81709204 00C7 00D7 32 VM 1

c65202b0 2b VM 2

:thread c1547690

Ring0TCB ID Context Ring3TCB ThreadID Process TaskDB PDB SZ Owner

c1547690 21 c1548cc0 81623a94 fffd2187 8162383c 307E 3077 16 *RUNDLL

Thread Flag = 00511401

00000001 ????

00000400 THFLAG_THREAD_BLOCKED

00001000 ????

00010000 THFLAG_OEM

00100000 ????

00400000 ????

ClientPtr = C5BF3F70

TDBX = C1548DD0

命令: TRNEWDOS

作用: 捕获另外的DOS程序。

用法:

命令: TRNEWTCB

作用: 捕获一个新的线程的入口操作码

支持 32位和16位程序

不要在DOS提示符下运行 Windows 程序,否则 TRW2000 会捕获 START.EXE。

用法:

命令: TRTCB

作用: 跟踪一个正在运行的线程。

用法:

命令: U [address]

作用: 在代码窗口反汇编程序或将反汇编的代码输出到一个文件。

用法: U range >200456125628.htm

例: u 401000

u cs:402000

u 401000402000 >myfile

u 401000 L 100 >myfile

命令: VER

作用: 显示TRW2000的版本信息

用法:

命令: VCALL

作用: 显示VxD 调用

用法: Vcall * -显示所有的 VxD 调用

Vcall num -如果指定的num<10000h 显示所有的 VxD 调用

-如果指定的num>10000h 则显示所指定的 VxD 调用

例:

Vcall partial-name

Vcall 0d

Vcall 100001

Vcall *sys*

命令: VM [VMID]

作用: 显示虚拟机的信息。

用法: 如果VM命令不加参数,将显示系统中所有虚拟机的信息。如果加 VMID 参数该VM的寄存器值将被显示。

这里的寄存器值是在VM控制块用户区中的寄存器值。所以,这些寄存器表示的是最后当有内存地址切换时存入该控制块时的值。

当TRW2000弹出时正好某个VM 正在运行的话,在寄存器窗口中的值才是真正当前的值,而不是用VM命令在命令窗口中看到的值。

有一点要注意:如果你在某个中断例程中的头几句指令处,而此时这个VM的寄存器值正在被存入控制块,那么可能当前只有CS:IP的值(由VM显示)是真的。其余的有可能还没有存入控制块。

命令: VXD [VXDNAME]

作用: 显示Windows VxD 映象。

VXD 命令将显示指定的某个VxD的信息。如果不加参数,VXD命令将显示系统中所有的虚拟设备驱动程序的映象。动态装载的VxD将显示在静态装载的VxD后面。

用法:

命令: W range 200456125628.htm

作用: 将内存内容写入指定文件

用法: 例: w ds:401000402000 myfile

w 401000 L 100 c:\myfile.bin

命令: WC [codewindow_lines]

作用: 设置代码窗口的行数,如果不带参数则切换其开/关状态。

用法: 例:

wc 25

wc

命令: WD [datawindow_lines]

作用: 设置数据窗口的行数,如果不带参数则切换其开/关状态。

用法: 例:

wd 25

wd

命令: WR

作用: 打开或关闭寄存器窗口

如果当前寄存器窗口不可见,那么WR命令将使之可见,反过来,WR命令将使寄存器窗口不可见。

寄存器窗口显示80386寄存器集。

用法:

命令: WS

作用: 打开或关闭堆栈窗口

如果当前堆栈窗口不可见,那么WS命令将使之可见,反过来,WS命令将使堆栈窗口不可见。

用法:

命令: WMSG

作用: 显示Windows消息

用法: WMSG [partial-name] [WMSG-number]

例:

WMSG 12

WMSG wm_destroy

命令: X

作用: 退出当前调试状态,返回Windows

用法:

--------------------------------------------------------------------------------

条件断点语法

几乎所有的断点都可以通过如下的语法:

BP??

[IF (conditions)] [DO ”statement“]

而且开始的2个字母 'BP' 可以代换成 'GO',即:

GO??

[IF (conditions)] [DO ”statement“]

来设置条件断点。 TRW2000 能够根据要求设置、使用和清除这些断点。

conditions:

用法: 条件必须用闭括符括起来:

Operator Meaning

== Logical Equal

!= Logical Not equal

>Logical Greater than

>= Logical Greater than or equal to

< Logical Less than

<= Logical Less than or equal to

& Bit and

| Bit or

^ Bit xor

>>Bit shift right

<< Bit shift left

;not support ! Logical NOT

&& Logical AND

|| Logical OR

+ add

- sub

* mul

/ division

% mod

() parenthesis

(byte)

(word)

(dword)

* get value from point

+ positive

- negative

Ex:

g if ((byte)*eip==c2)

g if (*esp==ebx)

go if (eip>401000&&eip<<10000000)

未注册版本,条件表达示长度有限制.

Do statement:

用法: 可以是任何有效的 TRW2000 的命令,但必须用双引号”“引起来。

例:

BPX cs:401000 if (eax>200) do ”d eax“

GOX 401000 if (cs!=28) do ”d ss:esp"

G if (eip<1000)

(编辑:天命孤独)

篇4:社保操作手册

社保操作手册

一、登陆厦门电子地方税务局的网站进行网上办税服务中心

二、输入用户名、密码

三、进行社保业务操作:

1、社保增员操作流程

(1)进入“单位人员增员申报”,进入增员申报协议

(2)进入增员模块

(2)录入参保人员信息

(3)最后一步点击“提交”就OK了

三、进入“查询已提交数据”查询单位增员是否成功:

如果系统显示为“未处理”――表示:前台操作人员还未进行转换

如果系统显示为“转换完毕”――表示:前台操作人员已进转换,增员成功

如果系统显示为“不予受理”――表示:该人员信息可能有问题,要求上门处理

备注:如果显示为“转换完毕”,用人单位可将此页面打印下来,到社保经办机构制作养老手册和医疗IC卡

2、社保减员操作

(1)进入“单位人员减员申报”

(2)进入减员界面:录入要减员的姓名和身份

(3)选择减退原因:

01、――减退

03、――在职转退休

00――死亡

(4)进入“查询已提交数据”查询减员是否成功

如果系统显示为“未处理”――表示:前台操作人员还未进行转换

如果系统显示为“转换完毕”――表示:前台操作人员已进转换,减员成功

如果系统显示为“不予受理”――表示:该人员信息可能有问题,要求上门处理

备注:如果是显示为“转换完毕”,用人单位可以将此界面打印下来,到社保经办机构打印对帐单。

网上社保对帐单查询

一、进入社保对帐单查询模块

二、(1)查询当月的应征帐,通过“社保应征对帐单查询”――可以查询单位这个月应缴多少金额和应征明细

篇5:员工操作手册范本

八、工作纪律

8.1考勤管理规范

8.1.1员工每日到公司上班必须先亲自打卡报到,下班时打好卡方可离开。

8.1.2员工须自觉遵守打卡考勤规定,严禁委托他人打卡,如发现违反规定者,将对当事者(委托人)和有关责任人(代打卡者)分别处以100元/次人以上罚款。

8.1.3.考勤打卡情况由行政人事部负责管理。每日上10点由行政人事部将全部考勤卡收回,检查打卡情况。

8.1.3.1.凡属昨天下班示打卡的员工,行政人事部将用专册登记并通知该员工处理下班未打卡的原因,由该员工送其总监签字证明。如该员工在一个工作日内未处理昨日下班未打卡的问题,将对该员工的下班未打卡作为漏打卡处罚处理。

8.1.3.2.凡属当日上午9︰15未到公司的员工,行政人事部要负责跟进该员工实际到公司的时间并让其领卡打卡,并分清楚未按时到公司是什么原因,并记录在该员工的卡上。①如属加班要按规定分清楚是否迟到;②如司直接去客户处办理,要由该员工送到其总监签字证明,时限一个工作日内处理完毕③或属迟到

8.1.3.3.行政人事部要做到每天无未打卡情况不清楚的现象发生。

8.1.4加班:员工因工作需要加班,必须填写“加班单”,由部门总监签字。员工加班时间超过晚上11点以后,每超过一小时,第二天上班时间可延后一小时,凌晨二点以后,可于第二天下午1∶40上班。但须于晚上加班完毕前安排好自己的所有工作,写出说明贴于公司告示牌上,以便查找资料和安排后序工作。

8.1.5外出:员工因公外出,须直接向主管领导报告,并在公告栏上填写去向表。员工上班后中途因私有急事外出,须向部门主管总监报告去向,经批准,交待手头工作,并向行政部递交签批后的请假手续。方可外出,否则作旷工处理。主管总监以上职务因私事外出,须向总经理报告去向,经批准后办理请假手续。

8.1.6.迟到早退:迟到或早退20分钟以内的,每次扣10元;迟到或早退20分钟以上、40分钟以内的,每次扣20元;迟到或早退40分钟以上、60分钟以内,每次扣30元;迟到或早退60分钟以上,按旷工半天处理。

8.1.7.病假:员工请病假,须在当日一上班即向部门总监请假,同时通知公司行政部,事后向行政部补交区级以上医院证明和病历,登记考勤。员工可享受每月2天的带薪病假(以月为准)。请病假不能提交区以上医院证明和病历的,按事假处理。若员工连续病假超过30天,公司将不再保留其任职岗位之工作,该员工将被视为自动辞职。

8.1.8员工请事假,须提前一天填写请假申请单,经部门主管总监签字同意,交待清楚手头工作,可请事假两天。两天以上一十五天以内需经总经理书面批准。一十五天以上事假,公司不予批准, 将被视为该员工自动辞职。员工应将经批准签字后的请假申请单交行政经理登记考勤,方可离开。未取得上述批准而缺勤者,将被视为旷工。事假无薪。假期已满,未按时上班的超假期按旷工处理。

8.1.9.旷工每天扣罚工资300元。连续旷工三天或一年内累计旷工七天者,解除劳动合同。

8.1.10.上、下班漏打卡每次扣罚100元。

8.2礼仪管理规范

8.2.1员工应着公司统一制作的工作服上班。员工上班时间佩带公司胸牌。胸牌要佩带在左胞上方位置。员工上班不得穿拖鞋、短裤。员工要爱护和妥善保管胸牌,丢失要赔偿工本费50元/枝。佩带胸牌由行政人事部负责检查管理。行政人事部发现员工未佩带胸牌第一次给予提醒警告并记录在案,督促其立即佩带。若不及时佩带或第二次发现未佩带胸牌,记录在册并由该员工签字,罚款50元/次。

8.2.2员工工作服由公司统一制作,按成本价在员工工资中分二月扣出。凡在公司连续工龄满半年以上的退给工作服一半的价款,连续工龄满一年的再退给其工作服另一半的价款。连续工龄不满半年解除合同者不退工作服价款。

8.2.3个人仪表端庄。男性需仪容整洁及注意个人卫生;女性要求化淡妆,服装仪容大方得体。

8.2.4个人电话礼仪

8.2.4.1电话铃响应立即接听,以不超过三声为原则。

8.2.4.2拿起话筒应先讲“你好,AA”再报自己姓名。

8.2.4.4讲电话时,声音应温和清晰,切勿嬉戏及高声谈笑。

8.2.4.4打电话前,应先整理谈话内容,接听电话时,应记录来电重点及覆诵,力求事半功倍,减少电话占用时间(注意长话短说,节约开支)。

8.2.4.5当拨错电话时,勿马上将电话挂掉,应向对方说声“对不起”后,再挂掉电话重拨。

8.2.4.6通话结束时,应等对方挂完电话后,再轻轻放下听筒。

8.2.5代接电话礼仪

8.2.5.1部门同事不在而其电话铃响时,应立即代为接听,并留下对方的姓名电话号码及留言,待其本人回来时,如实转达。

8.2.5.2凡接到非自己承办事务的电话时,必须在辨别其性质后,婉转告诉对方,并立即将电话转接至承办部门或人员,同时向承办人说明事由后,方可放下听筒。

8.2.5.3当有事外出或离开位子时,须先告知同事,如有来电或访客时,代为留言或处理。

8.3环境管理规范

8.3.1员工应自觉将各自位置卫生搞好。

8.3.2员工须自备茶杯,不准使用公司一次性茶杯,节约开支。

8.3.3员工不得在办公范围内抽烟,需抽烟请到消防楼梯间。

8.3.4不得在墙壁及屏风围板上张贴纸张。

8.3.5不得在公司公众环境乱丢杂物。

8.3.6员工餐后一次性饭盒请自觉放在楼梯间垃圾回收桶内。

8.4秩序管理规范

8.4.1接待外单位人员应在公司接待室或会议室,洽谈室内接待。非工作需要不得随意让外来人员进入工作场地。

8.4.2员工工作时间接听私人电话应尽量简短,小声,以免影响业务电话的正常流通和工作环境的安静。

8.4.3员工使用公司公用设施或服务(如长途电话、传真、会客室、会议室、图书资料、打字、手提电脑、投影仪、数码像机、摄像机等),应遵守行政部门规定,使用前办理申请手续,使用后及时清理或归还。

8.4.4员工因公接待使用会议室、会客室、洽谈室后,使用人员应立即清理室内卫生,保持室内整洁,以便接待其他客户使用。

8.4.5养成勤俭节约的良好习惯,员工下班时应关闭自己已不使用的电脑、电源;最后离开公司的员工,应检查电脑、电灯、空调排风扇等是否关闭,锁好大门方可离开。

8.4.6员工需用办公用品,统一到行政部按规定登记领用,注意爱惜节约,不得损毁和浪费。

8.5行为规范

8.5.1员工要自觉遵守中华人民共和国法律、法夫和本公司的规章制度,作奉公守法的公民。

8.5.2工作时间内员工不得在办公范围内喧闹、聊天。不得无故串岗。

8.5.3工作时间员工不得睡觉、吃东西。不得打牌、不得用公司的电脑打游戏、观看业务资料以外的其他影喋。

8.5.4员工讲话要使用礼貌用语,对内、外均不得讲粗话,使用污蔑性字眼。

8.5.5员工不得在公司处理私人事务,不得利用公司文具、通讯、电脑等设施和用品谋取个人便利。

8.5.6员工不得利用工作之便贪污或收受回佣。

8.5.7员工受聘期间,不得在外兼职或炒单。

8.5.8员工不得对外口头泄露公司内部情况、经营机密或未经许可向外单位人员提供本公司业务资料及电脑软件。

8.5.9员工薪酬保密,员工个人不得向他人通报收入情况,公司只接受个人本身薪酬之查询。

8.6安全管理规范

8.6.1公司全体员工都要树立安全防范意识,做好安全防范工作是每员工应尽的责任和义务,在公司内共同创造出一个安全,祥和安定的工作环境。

8.6.2防盗、防窃

8.6.2.1外来人员的管理。来访的客户,行政人事部和有关业务部人员要及时作好接待工作,及时作出妥善的安排。各类维修服务的人员进入公司,行政部要安排佩带公司统一的标识牌。员工私人的客人来访,请在接待处或小会议室接待。

8.6.2.2 谢绝推销人员和送餐人员进入公司工作场地,行政部要把好入口关,其余员工也要及时协助制止推销人员和送餐人员进入公司工作场地。

8.6.2.3中午午休时间,行政人事部要安排好前台值班人员,做好防范工作,认真执行好以上同点规定。

8.6.2.4下午下班以后,因工作需要加班的员工,要关好公司的大门,进出使用按键锁。完工离开公司时,关闭所有电脑电源和电灯及其他电器电源,用链条锁锁好大门,方可离开,以防偷盗事件发生。

8.6.2.5员工要保管好公司财物和私人的用品。手机要随身带,不要乱丢乱放,贵重物品要锁好,以防丢失。

8.6.3消防管理

8.6.3.1公司按规定统一配置一定数量灭火器。由行政人事部按公司区域分配到各部门负责管理。行政人事部每月负责检查一次灭火器的管理情况。公司员工都应学会灭火器的使用办法。

8.6.3.2员工在公司办公范围内不能吸烟。如因接待客户需要,在会议室吸烟,烟灰和烟头应丢烟灰缸内,并用水熄灭。

8.7保密制度

8.7.1 定义

8.7.1.1公司秘密是指一切关系公司安全和利益,在一定时间内限一定范围的人员知悉的事项。

8.7.1.2所有公司职员都有义务和责任保守公司秘密。

8.7.2公司秘密的范围

8.7.2.1公司经营、发展战略中的秘密事项。

8.7.2.2公司就经营发展作出的重大决策中的秘密义务的事项。

8.7.2.3公司对外活动中的秘密事项以及对外承担保密义务的事项。

8.7.2.4维护公司安全和侵犯公司利益的经济犯罪中的秘密事项。

8.7.2.5其他公司秘密(如高级领导的合同等)

8.7.3 密级分类

8.7.3.1 绝密:本公司生存、经营、人事有重大利益关系的情况,主要包括:

8.7.3.1.1公司股份构成、策划方案、成本、利润率、投资情况及其载体、原材料来源及价格。

8.7.3.1.2总体发展战略、营销策略、商务谈判内容及材料,正式合同和协议书。

8.7.3.1.3公司其他重大决策。

8.7.3.2 机密:与本公司生存、经营、人事有重要利益关系的事项。主要包括:

8.7.3.2.1尚未确定的公司重要人事调整及安排情况。

8.7.3.2.2公司与外部高层人士、同业人员来往情况及其载体。

8.7.3.2.3公司薪金制度,财务专用印签、密码、月、季年度销售利润情况及其载体,微机开启密码、软盘内容及存放位置。

8.7.3.2.4公司重要领导住所、及电话号码。

8.7.3.2.5获得竞争对方情况的方法、渠道及公司相应对策。

8.7.3.3 秘密:与本公司生存、经营、人事有较大利益关系的情况。

8.7.3.3.1客户层次调查情况,市场潜力调查预测情况及其载体。

8.7.3.1.2广告企划方案,营销企划方案。

8.7.3.1.3广告年度、季度提资情况、广告内涵、刊、布形式及地域。

8.7.4 各密级内容知晓范围

8.7.4.1绝密级 董事会成员、监事会成员与绝密内容有直接关系的工作人员。

8.7.4.2机密级 公司主管(经理)以上干部,与机密内容有直接关系的工作人员。

8.7.4.3秘密级 公司部门负责人以上干部,与秘密内容直接关系的工作人员。

8.7.5 保密措施

8.7.5.1保密工作在董事会直接领导下,由董事长(办)实施,制定相应制度、规定、对保密以下进行检查、督导、具体核实。

8.7.5.2公司员工必须有保密意识,做到不该看的不看,不该问的不问,不该说的不说。

8.7.5.3严禁在公司电话、传真机上交谈,传递保密事项。

8.7.5.4保密事项之载体要由专人保管,不得让无关人员查阅,不得交由他人代管。

8.7.5.5涉及保密内容材料的发放,必须经主管领导批准签字,且限在保密员之间进行,并将发放情况详细登记。

8.7.5.6借阅保密事项载体必须经借阅方,提供领导签字批准,保密员登记,借阅人员不得摘抄、复印,向无关人员透露,确需摘抄、复印时,要经提供方领导签字。

8.7.5.7保密事项内容,不得在办公室内悬挂张贴。

8.7.6 奖罚

8.7.6.1公司所有员工有权对违反保密制度的行为予以抵制、举报。

8.7.6.2公司所有员工不得对上述抵制、举报行为进行打击、报复、刁难。

8.7.6.3公司对上述抵制举报行为将视情况予以表彰,奖励,奖励为物质奖励、精神奖励、申请有关部门处理。

九、财务管理

9.1借支规定

9.1.1因工作需要借支须填写借支单,经主管总监签字,总经理签批后方可借支。

9.1.2公司不批准私人借支。

9.1.3借支时间一般不得超过八天,特殊情况应事先说明。

9.2报销规定

9.2.1一般报销规定:

9.2.1.1各类报销单均须在取得正式发票的前提下,由经手人填写清楚用途,并有经手人和部门总监的签名,送至财务部审核签名后,方能送至总经理室签批。有正式发票、经手人、管总监、财务部、总经理签名并写清用途的报销单方可报销。

9.2.1.2 报销时间不得超过账目发生后的八天,特殊情况须作说明。

9.2.1.3总经理签批报销单时间为每周三、五下午5:00-6:00,财务报销时间为每天下午4:00-6:00

9.2.2 购买设备、物品的报销:

9.2.2.1创作部设计资料图书、光盘的购买计划按公司的月控制额执行,其他设备物品的购买要事先申报公司购置计划。

9.2.2.2各部门需购买设备物品,经办人须事先填写购买申请单,经主管总监签名,总经理审批后方可借支购买。报账时须提供申请单作为依据,按9.2.1程序办理报账。

9.2.3 交能费报销:

外出工作车费报销以专线公车票价为标准,因特殊情况需乘坐的士的,事先应填写《乘坐的士申请表》,经主管总监和总经理批准后方可报销。

9.2.4 应酬报销:

9.2.4.1 因业务需要请客应酬,各部门或个人须事先填写应酬费申请单,并请示总经理批准,作为报销单据。

9.2.4.2 请客应酬的基本开支标准和参加陪客人员的控制:外地客户来深需请客应酬的,由总经理带队三人以上,有公司由总经理或总监总共不超过5人作陪,人均开销标准控制在100元以内。总经理职务以下人员带队三人以上的客人由本公司总监带2人参加作陪,人均开销控制在80元以内。外地客人三人以下由总监按排2人作陪,人均开销在控制在80元以内。

9.2.4.3本地客户来公司一般安排工作餐,工作费用人均控制在10元。品牌部负责安排好,填写报销单,总监签字,总经理批准报销。

9.3媒介购买支款规定

9.3.1媒介部根据品牌部AE下达的媒介购买任务单,由AE提供的公司与客户签定的合同或确认书复印件,经财务确认已收到客户广告发布款后,填写媒介购买确认书,经AE、媒介执行、客户总监签字,媒介员填写好支票领用单,将以上资料一并报送总经理签字批准。

9.3.2财务部根据总经理签批的支票领用单及其附件,审核其价格无误,审批程序符合规定时,方可开出支票。

9.3.3媒介部持支票购买媒体后,要取得媒体的正式发票,于当日内送交财务部查收。

9.4发外制作支款规定

9.4.1制作部接收到品牌部下达的发外制作任务单,需要发外进行印刷,喷绘、路牌、灯箱、展板、展场等制作,必须本着低成本高质量,保证本公司客户满意的原则与执行制作的乙方签定合同,经总经理审批签名。签订后的正式合同送交财务部存档,制作部留存复印件。

9.4.2制作部按照经总经理签批的合同规定进程检查乙方施工情况,预付定金或分阶段支款时,填写好支票领用单,经总经理签批后,财务部方可开出支票。

9.4.3制作项目完成,制作部必须取得公司客户的正式验收(货)单。凭验收单、合同复印件、填写好的支票领用单,报送总经理签批后,连同制作乙方的正式发票(制作部签名并写清用途)交财务部,财务部方可开出支票。

9.5菲林输出,电分支款规定

9.5.1电分与菲林输出,必须填写好菲林输出单。电脑部收到电分或菲林必须在检验合格的情况下签收。签收时填写好具体项目内容。

9.5.2按月结帐时,电脑部与制作部共同审核签字后,连同输出公司的发票送总经理签批。

9.5.3财务部根据总经理签批开出支票。

9.6出差规定

9.6.1本规定适合员工因公远程出差使用。远程出差指超出深圳市范围以外,且当日不能返回。

9.6.2出差人员的交通费标准:员工因公远程出差,原则上交通工具为长途汽车及火车硬卧、轮船二等仓位以下。如因工作需要乘坐飞机的,须事先向主管总监申请,并经总经理批准后方可实施。

9.6.3出差人员的住宿标准:

9.6.3.1国外出差住宿标准另行规定。

9.6.3.2在一般情况下,选择三星级及三星以下宾馆。

9.6.3.3同性别二人以上一起出差,应合住房间,住宿费标准为上述一人费用增加30%。

9.6.3.4住宿费凭发票报销,超出本职位标准部分自理。

9.6.3.5表中直辖市是指北京、上海、天津、重庆,经济特区是指深圳、珠海。

9.6.3.6省会是指各省自治区首府城市,沿海城市是指大连、咸临、秦皇岛、烟台、连云港、青岛、温州、泉州、北海、湛江。

9.6.4出差人员的餐费标准:

9.6.4.1出差到各地,在公司或接待方提供午餐和晚餐的情况下,应主动扣除餐贴。

9.6.4.2在外地一固定地方连续出差超过15天以上者,不分职务每天餐费补贴30元。

9.6.4.3餐费补贴由本人填写支付证明单,按财务规定程序批准后报销。

十、奖罚规定

10.1员工工作效率、工作态度、工作质量等表现突出,可获荣誉和物质奖励。

10.1.1对公司管理及业务运作有合理化建议,并经实施有显著成功。

10.1.2工作投入,在本职岗位上有出色表现。

10.1.3爱护公司,为公司开源节流作出显著贡献。

10.1.4工作细致,发现自身岗位以外的差错,及时采取措施,防止事故的发生。

10.2员工工作表现和行为不能达到公司要求,将受到处分和罚款。

10.2.1违反本员工手册的管理规定,被处以黄牌警告者。(三次兰牌警告,记黄牌警告一次,黄牌警告一次者给予口头严重警告处分,累积两次者取消本年度的升职机会,三次以上者给予辞退。)

10.2.2违反操作规程,责任心差造成不良后果。

10.2.3不听从主管领导的工作安排。

10.2.4业务学习不认真,本职工作不努力。

十一、解释权

本手册自2010年6月1日起执行。

本手册解释权归行政人事部。

应急预案操作手册

呼吸机操作手册(合集5篇)

欢迎下载DOC格式的呼吸机操作手册,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式

相关文章

热门推荐

HOT

猜你喜欢

NEW
点击下载本文文档