AMLI 디버거 명령 사용
AMLI 디버거 프롬프트에서 다음 명령을 실행할 수 있습니다.
일반 범주 | 특정 작업 | AMLI 디버거 명령 |
---|---|---|
디버거 제어 |
커널 디버거로 실행 중단 계속 | gq |
AML 실행 제어 |
AML 코드 추적을 통해 AML 코드로 메서드 단계 실행 | pt 실행 |
추적 모드 설정 제어 |
추적 모드 구성 |
trace |
네임스페이스 개체에 알림 |
Namespace 개체에 알림 |
통보하다 |
개체 개수 테이블 표시 |
개체 개수 테이블 표시 |
dc |
메모리 액세스 |
데이터 표시 데이터 바이트 표시 데이터 단어 표시 데이터 DWORD 표시 데이터 문자열 편집 메모리 | ddbdwdddae |
포트 액세스 |
포트 쓰기 바이트에서 포트 쓰기 바이트, 포트 쓰기 Word에서 포트 쓰기 DWORD로 포트 읽기 DWORD에서 포트 읽기 DWORD의 읽기 바이트 | iwidoow od |
도움말 표시 |
도움말 표시 |
? |
디버거 제어
이러한 명령은 AMLI 디버거를 종료합니다. g 명령은 대상 컴퓨터의 정상적인 실행을 다시 시작하고 q 명령은 대상 컴퓨터를 중지하고 커널 디버거에 침입합니다.
g
q
AML 실행 제어
이러한 명령을 사용하면 AML 메서드를 실행하거나 단계별로 실행할 수 있습니다. 실행 명령은 지정된 지점에서 실행을 시작합니다. p 및 t 명령을 사용하면 한 번에 하나의 명령을 단계별로 실행할 수 있습니다. 함수 호출이 발생하면 p 명령은 함수를 단일 단계로 처리하고 t 명령은 한 번에 하나의 명령으로 새 함수를 추적합니다.
run MethodName [ArgumentList]
CodeAddress 실행 [ArgumentList]
p
t
MethodName
메서드의 전체 경로와 이름을 지정합니다. 실행은 이 메서드의 메모리 위치 시작 부분에서 시작됩니다.
CodeAddress
실행을 시작할 주소를 지정합니다.
ArgumentList
메서드에 전달할 인수 목록을 지정합니다. 각 인수는 정수여야 합니다. 여러 인수는 공백으로 구분해야 합니다.
추적 모드 설정 제어
추적 명령은 AML 인터프리터의 추적 모드 설정을 제어합니다. 이 명령을 매개 변수 없이 사용하면 현재 추적 모드 설정이 표시됩니다.
trace [trigon|trigoff] [level=Level] [add=TPStrings] [zap=TPNumbers]
삼각형
추적 트리거 모드를 활성화합니다.
trigoff
추적 트리거 모드를 비활성화합니다.
수준
추적 수준에 대한 새 설정을 지정합니다.
TPStrings
추가할 하나 이상의 트리거 지점을 지정합니다. 각 트리거 지점은 이름으로 지정됩니다. 여러 트리거 지점 문자열은 쉼표로 구분해야 합니다.
TPNumbers
삭제할 하나 이상의 트리거 지점을 지정합니다. 각 트리거 지점은 숫자로 지정됩니다. 여러 트리거 지점 번호는 쉼표로 구분해야 합니다. 트리거 지점 번호 목록을 보려면 매개 변수 없이 추적 명령을 사용합니다.
네임스페이스 개체에 알림
알림 명령은 ACPI 네임스페이스 개체에 알림을 보냅니다. 지정된 개체의 큐에 알림이 배치됩니다.
ObjectName 값 알림
ObjectAddress 값 알림
ObjectName
알림을 받을 개체의 전체 네임스페이스 경로를 지정합니다.
ObjectAddress
알림을 받을 개체의 주소를 지정합니다.
값
알림 값을 지정합니다.
개체 개수 테이블 표시
dc 명령은 메모리 개체 개수 테이블을 표시합니다.
dc
메모리 액세스
메모리 액세스 명령을 사용하면 메모리를 읽고 쓸 수 있습니다. 메모리를 읽을 때 db, dw, dd 또는 da 명령을 사용하여 메모리 단위의 크기를 선택할 수 있습니다. 간단한 d 명령은 가장 최근에 선택한 단위로 메모리를 표시합니다. 이 명령이 사용되는 첫 번째 표시 명령인 경우 바이트 단위가 사용됩니다.
주소나 메서드를 지정하지 않으면 이전 표시 명령이 종료된 위치에서 표시가 시작됩니다.
이러한 명령은 표준 커널 디버거 메모리 명령과 동일한 효과를 줍니다. 쉽게 액세스할 수 있도록 AMLI 디버거 내에서 복제됩니다.
d[b|w|d|a] [ [l=Length] [ 메서드 | [%%]주소 ] ]
e [%%]주소 데이터 목록
b
데이터를 바이트 단위로 표시되도록 지정합니다.
w
데이터가 단어(16비트) 단위로 표시되도록 지정합니다.
d
데이터가 DWORD(32비트) 단위로 표시되도록 지정합니다.
a
데이터를 문자열로 표시되도록 지정합니다. 데이터는 ASCII 문자로 표시됩니다. NULL 문자를 읽거나 Length 문자가 표시되면 표시가 종료됩니다.
길이
표시할 바이트 수를 지정합니다. 길이는 16진수여야 합니다(0x 접두사 제외). 길이를 생략하면 기본 표시 크기는 0x80 바이트입니다.
방법
메서드의 전체 경로와 이름을 지정합니다. 표시는 이 메서드의 메모리 위치 시작 부분에서 시작됩니다.
주소
읽기 또는 쓰기가 시작될 메모리 주소를 지정합니다. 주소에 2% 기호(%%)가 접두사로 추가되면 실제 주소로 해석됩니다. 그렇지 않으면 가상 주소로 해석됩니다.
DataList
메모리에 쓸 데이터를 지정합니다. 목록의 각 항목은 16진수 바이트 또는 문자열일 수 있습니다. 문자열을 사용하는 경우 따옴표로 묶어야 합니다. 여러 항목을 공백으로 구분해야 합니다.
포트 액세스
포트 명령을 사용하면 출력을 보내거나 데이터 포트에서 입력을 받을 수 있습니다. i 및 o 명령은 단일 바이트를 전송하고, iw 및 ow 명령은 단어(16비트)를 전송하고, ID 및 od 명령은 DWORDS(32비트)를 전송합니다.
이러한 명령은 표준 커널 디버거 포트 명령과 동일한 효과를 줍니다. 쉽게 액세스할 수 있도록 AMLI 디버거 내에서 복제됩니다.
i 포트
iw 포트
ID 포트
o 포트 DataForPort
ow 포트 DataForPort
od Port DataForPort
포트
액세스할 포트의 주소를 지정합니다. 포트 크기는 선택한 명령과 일치해야 합니다.
DataForPort
포트에 쓸 데이터를 지정합니다. 이 데이터의 크기는 선택한 명령과 일치해야 합니다.
도움말 표시
이 명령은 AMLI 디버거 명령에 대한 도움말 텍스트를 표시합니다.
? [명령]
Command
도움말을 표시할 명령을 지정합니다. 생략하면 모든 AMLI 디버거 명령 및 AMLI 디버거 확장 목록이 표시됩니다.