Debugging Tools for Windows

Using AMLI Debugger Commands

The following commands can be issued from the AMLI Debugger prompt.

General Category Specific Action AMLI Debugger
Commands
Controlling the Debugger Continue Execution
Break to Kernel Debugger
g
q
Controlling AML Execution Run Method
Step Over AML Code
Trace Into AML Code
run
p
t
Controlling Trace Mode Settings Configure Trace Mode trace
Notifying a Namespace Object Notify Namespace Object notify
Displaying the Object Count Table Display Object Count Table dc
Accessing Memory Display Data
Display Data Bytes
Display Data Words
Display Data DWORDs
Display Data String
Edit Memory
d
db
dw
dd
da
e
Accessing Ports Read Byte from Port
Read Word from Port
Read DWORD from Port
Write Byte to Port
Write Word to Port
Write DWORD to Port
i
iw
id
o
ow
od
Displaying Help Display Help ?

Controlling the Debugger

These commands exit the AMLI Debugger. The g command will resume normal execution of the target computer, and the q command will freeze the target computer and break into the kernel debugger.

g 

q 

Controlling AML Execution

These commands allow you to run or step through AML methods. The run command begins execution at a specified point. The p and t commands allow you to step through one instruction at a time. If a function call is encountered, the p command treats the function as a single step, while the t command traces into the new function one instruction at a time.

run MethodName [ArgumentList

run CodeAddress [ArgumentList

p 

t 

MethodName
Specifies the full path and name of a method. Execution will start at the beginning of this method's memory location.
CodeAddress
Specifies the address where execution is to begin.
ArgumentList
Specifies a list of arguments to be passed to the method. Each argument must be an integer. Multiple arguments should be separated with spaces.

Controlling Trace Mode Settings

The trace command controls the AML interpreter's trace mode settings. If this command is used with no parameters, the current trace mode settings are displayed.

trace [trigon|trigoff] [level=Level] [add=TPStrings] [zap=TPNumbers

trigon
Activates trace trigger mode.
trigoff
Deactivates trace trigger mode.
Level
Specifies the new setting for the trace level.
TPStrings
Specifies one or more trigger points to be added. Each trigger point is specified by name. Multiple trigger point strings should be separated by commas.
TPNumbers
Specifies one or more trigger points to be deleted. Each trigger point is specified by number. Multiple trigger point numbers should be separated by commas. To see a list of trigger point numbers, use the trace command with no parameters.

Notifying a Namespace Object

The notify command sends a notification to an ACPI namespace object. The notification will be placed in the specified object's queue.

notify ObjectName Value 

notify ObjectAddress Value 

ObjectName
Specifies the full namespace path of the object to be notified.
ObjectAddress
Specifies the address of the object to be notified.
Value
Specifies the notification value.

Displaying the Object Count Table

The dc command displays the memory object count table.

dc 

Accessing Memory

The memory access commands allow you to read and write to memory. When reading memory, you can choose the size of the memory units with the db, dw, dd, or da command. A simple d command displays memory in the most recently-chosen units. If this is the first display command used, byte units are used.

If no address or method is specified, display will begin where the previous display command ended.

These commands have the same effect as the standard kernel debugger memory commands; they are duplicated within the AMLI Debugger for easy access.

d[b|w|d|a] [ [l=Length] [ Method | [%%]Address ] ] 

e [%%]Address DataList 

b
Specifies that the data should be displayed in byte units.
w
Specifies that the data should be displayed in word (16-bit) units.
d
Specifies that the data should be displayed in DWORD (32-bit) units.
a
Specifies that the data should be displayed as a string. The data is displayed as ASCII characters. The display terminates when a NULL character is read, or when Length characters have been displayed.
Length
Specifies the number of bytes to be displayed. Length must be a hexadecimal number (without an 0x prefix). If Length is omitted, the default display size is 0x80 bytes.
Method
Specifies the full path and name of a method. The display will start at the beginning of this method's memory location.
Address
Specifies the memory address where reading or writing will begin. If the address is prefixed with two percent signs (%%), it is interpreted as a physical address. Otherwise, it is interpreted as a virtual address.
DataList
Specifies the data to be written to memory. Each item in the list can be either a hexadecimal byte or a string. When a string is used, it must be enclosed in quotation marks. Multiple items should be separated by spaces.

Accessing Ports

The port commands allow you to send output or receive input from a data port. The i and o commands transfer single bytes, the iw and ow commands transfer words (16 bits), and the id and od commands transfer DWORDS (32 bits).

These commands have the same effect as the standard kernel debugger port commands; they are duplicated within the AMLI Debugger for easy access.

i Port 

iw Port 

id Port 

o Port DataForPort

ow Port DataForPort

od Port DataForPort

Port
Specifies the address of the port to be accessed. The port size must match the command chosen.
DataForPort
Specifies the data to be written to the port. The size of this data must match the command chosen.

Displaying Help

This command displays help text for the AMLI Debugger commands.

? [Command

Command
Specifies the command for which to display help. If this is omitted, a list of all AMLI Debugger commands and AMLI Debugger extensions is displayed.

Build machine: CAPEBUILD