Guide to SoftICE Commands


Version

DOS: SoftICE 2.6 / 2.8
W16: SoftICE for Windows 3.1
W9x: SoftICE 3.2x / 4.0 for Windows 95 / 98
NT: SoftICE 4.0 for Windows NT

SoftICE is a registered trademark of Compuware NuMega. http://www.numega.com

Command

Explanation

Parameters

Version

.

Locate current instruction

.

DOS,W16,W9x,NT

?

Evaluate expression

? expression

W9x, NT

?

Help on the specified function

? [command]

DOS,W16

[CTRL-P]

Log session to printer

---

DOS,W16,W9x,NT

[PTRSCR]

Dump screen to printer

---

DOS,W16,W9x,NT

A

Assemble code

A [address]

DOS,W16,W9x,NT

ACTION

Action after break point reached

ACTION [ NMI | INT1 | INT3 | HERE | int-number ]

DOS,W16

ADDR

Display/Change address contexts

ADDR [context-handle | module-name]

W9x

ADDR

Display/Change address contexts

ADDR [process-name | process-id | KPEB]

NT

ALTKEY

Set key sequence to invoque window

ALTKEY [ALT letter | CTRL letter]

DOS,W16,W9x,NT

ALTSCR

Change to alternate display

ALTSCR [ mono | vga | off ]

DOS,W16,W9x,NT

ANSWER

Auto-answer an redirect console to modem

ANSWER [ON [com-port] [baud-rate] [i=init] | OFF]

W9x,WNT

APC

Display asynchronos procedure calls

APC [address | TID | PID]

NT

BASE

Display/Set radix (decimal or hex)

BASE [ 10 | 16 ]

DOS,W16

BC

Clear break point

BC list | *

DOS,W16,W9x,NT

BD

Disable break point

BD list | *

DOS,W16,W9x,NT

BE

Enable break point

BE list | *

DOS,W16,W9x,NT

BH

Break point history

BH

WinICE

BL

List current break points

BL

DOS,W16,W9x,NT

BMSG

Break point on Windows message

BMSG hWnd [L] [begin-msg [end-msg] [IF expression]

W16,W9x,NT

BOOT

System boot (retain sICE)

BOOT

DOS

BOUNDS

Bounds-Checker on/off control

BOUNDS [ ON | OFF ]

DOS

BPAND

AND multiple break points together

BPAND [ list | * | OFF ]

DOS

BPE

Edit break point

BPE breakpoint-number

DOS,W16,W9x,NT

BPINT

Break point on interrupt

BPINT interrupt-number [ IF expression ] [ DO bp-action ]

W9x,NT

BPINT

Break point on interrupt

BPINT interrupt-number [ al | ah | ax=value ] [ c = count ]

DOS,W16

BPIO

Break point on I/O port access

BPIO [-h] port [R|W|RW] [debug register] [IF expression] [DO bp-action]

DOS,W16,W9x,NT

BPM

Break point on memory access

BPM[size] address [R|W|RW|X] [debug register] [IF expression] [DO bp-action]

DOS,W16,W9x,NT

BPR

Break point on memory range

BPR address address [R|W|RW|T|TW] [IF expression] [DO bp-action]

DOS,W16,W9x

BPRW

Set range breapoint on Windows program or code segment

BPRW module-name | selector [verb] [IF expression] [DO bp-action]

DOS,W16,W9x

BPT

Use break point as a template

BPT breakpoint-number

DOS,W16,W9x

BPX

Break point on execution

BPX address [IF expression] [DO bp-action]

DOS,W16,W9x,NT

BREAK

Break out any time

BREAK [ ON | OFF ]

DOS

BSTAT

Break point statistics

BSTAT breakpoint-number

W16,W9x,NT

C

Compare two data blocks

C address1 L length address2

DOS,W16,W9x,NT

CALLS

Display call stack

CALLS

DOS

CLASS

Display window class information

CLASS [-x] [task-name]

W16,W9x,NT

CLS

Clear window

CLS

DOS,W16,W9x,NT

CODE

Display instruction bytes in code window

CODE [ON | OFF]

DOS,W16,W9x,NT

COLOR

Display/Set screen colors

COLOR normal bold reverse help line

DOS,W16,W9x,NT

CPU

Display cpu register information

CPU [-I]

DOS,W16,W9x,NT

CR

Display te control registers

CR

W16

CSIP

Sets CS:[E]IP range qualifier

CSIP [OFF | [NOT] address address | [NOT] module-name]

DOS,W16,W9x,NT

D

Display memory

D [address [ L length ]]

DOS,W16,W9x,NT

DATA

Change data window

DATA [window-number(0-3)]

DOS,W16,W9x,NT

DEVICE

Display info about a device

DEVICE [device-name | address]

W9x,NT

DEX

Display/assign window data expressions

DEX [window-number(0-3)] [expression]

DOS,W16,W9x,NT

DIAL

Redirect console to modem

DIAL [ON [com-port] [baud-rate] [i=init] [p=number] | OFF]

W9x,NT

DPC

Display delayed procedure calls

DPC [ address ]

NT

DRIVER

Display info about a driver

DRIVER [driver-name | address]

W9x,NT

E

Edit memory

E [address] [data]

DOS,W16,W9x,NT

EC

Enable/disable code window

EC

DOS,W16,W9x,NT

EMMMAP

Display EMM map

EMMMAP

DOS

EVENT

Display BoundChecker events

EVENT [ -? | -a | -lx | -nd | -o | -pd | -r | -s | -t | -x ]

W9x,NT

EXIT

Force an exit to current program

EXIT

DOS,W16,W9x,NT

EXP

Display export symbols

EXP [partial-name*]

W16,W9x,NT

F

Fill memory with data

F address L length data-string

DOS,W16,W9x,NT

FAULTS

Enable/disable sICE fault trapping

FAULTS [ON | OFF]

W16,W9x,NT

FIBER

Dump a fiber data structure

FIBER [ address ]

NT

FILE

Change/Display current source file

FILE [file-name | *]

DOS,W16,W9x,NT

FKEY

Display/Set function keys

FKEY [function-key string]

DOS,W16,W9x,NT

FLASH

Restore screen during P and T

FLASH [ ON | OFF ]

DOS,W16,W9x,NT

FLICK

Use if your screen flickers

FLICK [ ON | OFF ]

DOS

FMUTEX

Display information about a mutant kernel object

FMUTEX [ expression ]

NT

FOBJ

Display info about a file obect

FOBJ pfile_object

W9x,NT

FORMAT

Change format of data window

FORMAT

W9x,NT

G

Go to address

G [=address] [address]

DOS,W16,W9x,NT

GDT

Display global descriptor table

GDT [selector | GDT base-address]

W16,W9x,NT

GENINT

Generate an interrupt

GENINT [NMI | INT1 | INT3 | int-number]

DOS,W16,W9x,NT

H

Help on the specified function

H [command]

DOS,W16,W9x,NT

HBOOT

System boot (total reset)

HBOOT

DOS,W16,W9x,NT

HEAP

Display windows global heap

HEAP [-l] [FREE | mod | sel | [32 [heap32 | process]]

W16,W9x,NT

HEAP32

Display windows global heap

HEAP32 [ hheap32 | task-name ]

W9x

HEAP32

Display windows global heap

HEAP32 [ [ -w –x –s –v –b –trace ] [heap | heap-entry | process type]]

NT

HERE

Go to current cursor line

HERE

DOS,W16,W9x,NT

HWND

Display window handle information

HWND [-x] [ hwnd | [ [window-level] [task name] ]

W16,W9x

HWND

Display window handle information

HWND [-x] [-c] [hwnd-type | desktop-type | process-type | thread-type | module-type | class-name]

NT

I

Input data from I/O port

I port

DOS,W16,W9x,NT

I1HERE

Direct int 1 to sICE

I1HERE [ON | OFF]

W16,W9x,NT

I3HERE

Direct int 3 to sICE

I3HERE [ON | OFF]

DOS,W16,W9x,NT

IDT

Display interrupt descriptor table

IDT [int-number | IDT base-address]

W16,W9x,NT

INTOBJ

Display information on system interrupt object

INTOBJ [ vector | interrupt-object-address ]

NT

INT?

Display last interrupt number

INT?

DOS

IRP

Display info about a IRP

IRP pirp

Wi9x,NT

KEVENT

Display kernel events

KEVENT [ kernel-event ]

NT

KMUTEX

Display information about kernel mutexes

KMUTEX [ kernel-mutex ]

NT

KSEM

Display information about kernel semaphores

KSEM [ semaphore-address ]

NT

LDT

Display local descriptor table

LDT [selector | LDT table selector]

W16,W9x,NT

LHEAP

Display windows local heap

LHEAP [selector | module-name]

W16,W9x,NT

LINES

Set/Display number of lines on screen

LINES [25 | 43 | 50 | 60]

DOS,W16,W9x,NT

LOCALS

Display locals currently in scope

LOCALS

W9x,NT

M

Move data

M address1 L length address2

DOS,W16,W9x,NT

MACRO

Define a named macro command

MACRO [macro-name] | [[*] | [= "macro-body"]]

W9x,NT

MAP

Display system memory map

 

DOS

MAP32

Display 32 bit section map

MAP32 [module-handle | module-name]

W16,W9x,NT

MAPV86

Display V86 memory map

MAPV86 [address]

W16,W9x,NT

MOD

Display windows module list

MOD [partial-name*]

W16

MOD

Display windows module list

MOD [ -u | -s ] [ partial-name* ]

W9x,NT

NET

Remote debugging over standard IP ethernet connection

NET START <target-IP-address | DHCP> [MASK=subnet-mask] [GATEWAY=IP-address]

W9x,NT

NTCALL

Display NTOSKRNL calls used by NTDLL

NTCALL

NT

O

Output data to I/O port

O port value

DOS,W16,W9x,NT

OBJDIR

Display info about an object directory

OBJDIR [object-directory]

W9x,NT

OBJTAB

Display entries in the WIN32 user object-handle table

OBJTAB [ handle | object-type-name | -h ]

NT

P

Step skipping calls, Ints, etc..

P [RET]

DOS,W16,W9x,NT

PAGE

Display page table information

PAGE [address [L length]]

W16,W9x,NT

PAGEIN

Load a page into physical memory

PAGEIN address

W16,W9x,NT

PAUSE

Controls display scroll screen

PAUSE [ON | OFF]

DOS,W16,W9x,NT

PCI

Display pci device information

PCI [-raw] [bus device function]

W9x,NT

PEEK

Read from physical address

PEEK[size] address

W9x,NT

PHYS

Display virtual addrs for physical addresses

PHYS physical-address

DOS,W16,W9x,NT

POKE

Write to physical address

POKE[size] address value

W9x,NT

PRN

Set printer output port

PRN [LPTx | COMx]

DOS,W16,W9x,NT

PROC

Display process information

PROC [-xo] [task-name]

W9x,NT

QUERY

Display a processes virt. addr. space swap

QUERY [[-x] address] [process-type]

W9x,NT

R

Display/change register contents

R [-d | register-name | register-name = value ]

DOS,W16,W9x,NT

RS

Restore program screen

RS

DOS,W16,W9x,NT

S

Search for data

S [-cu] address L length data-string

DOS,W16,W9x,NT

SERIAL

Redirects console

SERIAL [ON | VT100 [com-port] [baud-rate] | OFF]

DOS,W16,W9x,NT

SET

Change an internal variable

SET [setvariable] [ON | OFF] [value]

W9x,NT

SHOW

Display from backtrace buffer

SHOW [ B | start ] [ L length ]

DOS,W16,W9x

SNAP

Take snap shot or compare memory

SNAP [ S | C | R ] [ address1 address2 ]

DOS

SRC

Toggle between source, mixed & code

SRC

DOS,W16,W9x,NT

SS

Search source module for string

SS [line-number] [‘search-string’]

DOS,W16,W9x,NT

STACK

Display call stack

STACK [ task-name | thread-type | SS:EBP]

W9x,NT

SYM

Display symbols

SYM [partial-name* | symbol-name]

DOS,W16,W9x,NT

SYMLOC

Relocate symbol base

SYMLOC segment | O | R | -C process-type | section selector base

DOS,W16,W9x,NT

T

Single step one instruction

T [=address] [count]

DOS,W16,W9x,NT

TABLE

Select alternate symbol table

TABLE [[R] table-name | AUTOON | AUTOOFF]

DOS,W16,W9x,NT

TABS

Set/Display tab settings

TABS [1 – 8]

DOS,W16,W9x,NT

TASK

Display windows task list

TASK

W16,W9x,NT

THREAD

Display thread information

THREAD [TCB | ID | task-name]

W9x

THREAD

Display thread information

THREAD [-r | –x | –u ] [thread-type | process-type]

NT

TIMER

Display information about timer objects

TIMER [ timer-address ]

NT

TRACE

Enter back trace simulation mode

TRACE [ B | OFF | start ]

DOS,W16,W9x

TSS

Display task state segment

TSS [TSS selector]

DOS,W16,W9x,NT

TYPES

List all types, or display type definition

TYPES [type-name]

W9x,NT

U

Un-Assembles instructions

U [address [ L length ]]

DOS,W16,W9x,NT

VCALL

Display VxD calls

VCALL [partial-name*]

W16,W9x

VECS

Save, restore, compare vectors

VECS [ C | S | R ]

DOS

VER

Soft-ICE version number

VER

DOS,W16,W9x,NT

VM

Display virtual machine information

VM [-s] [VM ID]

W16,W9x

VXD

Display windows VxD list

VXD [ partial-name* ]

W16

VXD

Display windows VxD list

VXD [ vxd-name ]

Wi9x

WARN

Controls re-entrancy warning mode

WARN [ ON | OFF ]

DOS

WATCH

Add watch

WATCH address

W16,W9x,NT

WATCHV

Set video watch mode

WATCHV [ ON | OFF ]

DOS

WC

Toggle code/source window

WC [window-size]

DOS,W16,W9x,NT

WD

Toggle data window

WD [window-size]

DOS,W16,W9x,NT

WF

Toggle floating point stack window

WF [-D] [B | W | D | F | *]

W9x,NT

WHAT

Identify the type of an expression

WHAT expression

W9x,NT

WIDTH

Set/Display number of columns on screen

WIDTH [80 – 160]

W9x,NT

WIN

Set window size

WIN [ W | N ] [ row length [ column ] ]

DOS

WL

Toggle locals window

WL [window-size]

W16,W9x,NT

WMSG

Display windows messages

WMSG [partial-name*] [WMSG-number]

W16,W9x,NT

WR

Toggle register window

WR

DOS,W16,W9x,NT

WS

Toggle the call stack window open or closed, and set the size of the stack window

WS [ window-size]

W9x,NT

WW

Toggle watch window

WW

W16,W9x,NT

WX

Toggle the XMM register window open or closed, and set the display format of the window

WX [F | D | *]

NT

X

Return to host debugger or program

X

DOS,W16,W9x,NT

XFRAME

Display active exception frames

XFRAME [ frame address ]

W9x,NT

XG

Go to address in simulation mode

XG [R] address

DOS,W16,W9x

XP

Program step in simulation mode

XP

DOS,W16,W9x

XRSET

Reset back trace history buffer

XRSET

DOS,W16,W9x

XT

Step in trace simulation mode

XT [R]

DOS,W16,W9x

ZAP

Zap embedded INT1 or INT3

ZAP

W16,W9x,NT



Copyright (c) Hinterweltler Technologies