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