| HOME / 정보공유 / AIX 명령어 모음

iadb
iadb iadb 명령 목적 덤프 파일 분석기 및 라이브 시스템 시험. 구문
iadb [ -u File ] [ -d Dump_File ]
설명
iadb 명령은 시스템 이상의 진단을 도와 주는 덤프 분석을 제공하고 라이브 시스템의 조사에도 사용될 수 있습니다. 시스템 이상이 발생하면, 덤프 모듈이 덤프 파일(구성되어 있을 경우)을 작성합니다. 차후에, 사용자가 덤프 파일을 식별하고 iadb를 사용하여 덤프 원인과 환경을 분석합니다. iadb는 프롬프트를 제공하여, 대화식 도구로 작동합니다. 사용자가 여러 iadb 부속 명령을 입력하여 필요한 디버깅 조작을 수행할 수 있습니다.
주: iadb 부속 명령 및 그 구문은 커널 디버거 IADB와 유사합니다. 모든 IADB 부속 명령이 iadb에서 실행되지는 않습니다. 또한 IADB에는 없지만 iadb에 새로운 부속 명령(덤프 파일 관련)이 있습니다.
기호 처리에 사용되는 디폴트 커널 파일은 /unix입니다. iadb는 /unix에서 그리고 또 로드된 커널 확장에서도 기호를 검색합니다.
주: 덤프 파일의 경우, 로드된 커널 확장에서 기호 탐색은 다소 시간이 걸립니다(파일 액세스의 지연 시간으로 인해). 그러므로 iadb의 명령은 로드된 커널 확장에 대한 기호에서 캐쉬할 기회를 제공합니다. 마찬가지로 기호 해석 순서에서 모듈의 기호를 제거할 수 있습니다.
IADB와 iadb의 차이점
iadb의 사용자 인터페이스는 의사 tty에 기반하므로, MORE에 대한 q 키가 작동하지 않습니다. 대신 q를 누른 후 Enter를 눌러 MORE를 중지해야 합니다.
iadb 명령의 사용자 인터페이스는 디폴토 값에 의한 편집에 기반하여 vi 편집기를 지원합니다. 사용자 홈 디렉토리의 내역 파일에 최종 수행 명령이 보유되어 있습니다.
IADB의 표시 지향 부속 명령 대부분은 iadb에서 지원됩니다. 중단점과 관련된 명령 및 커널 특정 레지스터는 지원되지 않습니다.
iadb, kdb 또는 시스템 이상 사이의 관계
iadb는 kdb 명령 및 crash와는 다릅니다. iadb는 기능을 달성하고, 또 kdb와 crash에도 존재할 수 있는 명령을 지원합니다. iadb 부속 명령은 AIX/Itanium 기반 환경의 커널 디버거인 IADB의 명령 구문을 따릅니다.
플래그
-u File 시스템 분석에 사용할 File을 지정합니다. 이 플래그를 지정하지 않으면 디폴트 파일이 분석에 사용됩니다.
-d Dump_File 분석에 사용될 Dump_File을 지정합니다. Dump_File은 유효한 덤프 파일이고, -u 플래그로 지정된 File에 따라 AIX/Itanium 기반 시스템에서 수행됩니다.
부속 명령 인수
다음 테이블은 부속 명령 구문 도표에서 참조되는 가장 일반적인 인수 유형을 설명한 것입니다.

인수 | 설명
* | 모든 항목을 선택하는 데 사용되는 와일드 카드
count | 특정 조작을 수행하는 횟수를 지정하는 16진 상수
cpu | SMP 기계에서 cpu 번호를 지정하는 십진수 값
eaddr | 유효 주소. 16진 상수 또는 표현식이 될 수 있습니다.
paddr | 물리적 주소
pid | 프로세스 ID를 지정하는 16진 상수 또는 표현식
선택 | 선택이 이루어져야 하는 곳을 표시하는 메뉴를 나타냅니다.
슬롯 | 표 내에서 슬롯 번호를 지정하는 10진 상수
symb | 값에 대한 상징적 참조. 커널이나 확장 커널의 기호가 사용될 수 있습니다.
tid | 스레드 ID를 지정하는 16진 상수 또는 표현식
tslot | 스레드 테이블 내에서 슬롯 번호를 지정하는 10진 상수

iadb 부속 명령
요약
메모리 표시

d | 가상 메모리 표시
dis | 메모리 해체

레지스터 표시

b | 분기 레지스터 표시
cfm | 현재 스택 레지스터 표시
fpr | FPR(s) 표시(f0 - f127)
iip | 명령 포인터 표시
iipa | 명령 이전 주소 표시
ifa | 결함 주소 표시
p | 술어 레지스터 표시
r | 일반 레지스터 표시
rse | 레지스터 스택 레지스터 표시

상태

cpu | 문맥을 CPU에 스위치합니다.
이유 | 명령 iadb 호출 이유를 표시
stat | 시스템 정보/시스템 손상 정보 표시
sw | 스레드로 스위치
sys | 시스템 정보 표시
t | 스택 역추적

구조 표시/수정

dev | 장치 스위치 테이블 표시
heap | 힙(기억장치) 구조 표시
intrh | 인터럽트 처리기 테이블/구조 표시
iplcb | IPL 제어 블록 표시
kext | 로드된 커널 확장 표시
mltrace | 내부 CPU 당 추적 버퍼 덤프
mst | 기계 상태 스택 표시
lock | 잠금 구조/리스트 표시
pnda | pnda 구조 표시
ppda | 프로세서당 설명자 영역 표시
pr | 프로세스 표시
pvpr | PvProcess 구조 표시
pvth | PvThread 구조 표시
th | 스레드 표시
us | 사용자 구조 표시
ut | Uthread 구조 표시
xm | Xmalloc 내부 구조 표시

기호 및 변환

map | 주소 대 기호 또는 기호 대 주소 맵
nm | 기호를 유효 주소에 맵
ns | 주소를 가장 가까운 기호에 맵
ldsyms | 모듈에 대한 기호 로드
unldsyms | 모듈에 대한 기호 로드 해제

덤프 파일 액세스/표시

cdt | CDT 및 데이터 영역 표시

일반

! | 쉘 에스케이프
dcal | 10진수 계산기
hcal | 16진 계산기
help | 명령 리스트/명령 도움말(help [command])
his | 명령 내역
quit | 명령 iadb 중지. 별명은 go, q입니다.
set | 디버거 매개변수 표시/설정

세부 정보:
iadb 명령이 지원하는 다양한 명령에 관한 세부 정보는 다음 절에 있습니다. 이들 명령은 오름 차순 w.r.t 명령 이름 순서로 설명되어 있습니다.
! Command
쉘 에스케이프. 사용자가 이 지원을 사용하여 iadb 명령 프롬프트에서 시스템 명령을 호출할 수 있습니다. 명령은 운영 시스템 지원 CLI 기반 명령입니다. 예를 들어, 다음과 같습니다.
! ls ! cat /.rhosts
b [ reg_no ]
분기 레지스터 표시/설정 regno는 분기 레지스터 번호(0 - 7)이고 value은 설정할 새로운 값입니다. 예를 들어, 다음과 같습니다.
모든 분기 레지스터를 표시하려면, 다음을 입력하십시오.
b
분기 레지스터 b6을 표시하려면 다음을 입력하십시오.
b6
cdt [ [ -d ] cdt_number [cdt_entry] ]
cdt 부속 명령은 구성요소 덤프 테이블(CDT)에 관한 정보를 표시하거나 덤프에 대한 구성요소 덤프 데이터를 열람합니다. 덤프 루틴은 /usr/lib/ras/dmprtns/ 디렉토리에 지시된 디렉토리에 위치해야 합니다. 실행 가능한 덤프 형식화 프로그램의 이름은 덤프 중인 구성요소와 같아야 합니다. 구성요소의 이름과 같은 실행 가능한 프로그램이 없으면 기본 덤프 형식화 프로그램이 호출됩니다(/usr/lib/ras/dmprtns/ 디렉토리의 dmpfmt 실행 가능 프로그램). cdt_ number는 표시할 CDT 색인이고, cdt_entry는 표시할 CDT 색인의 데이터 영역입니다. 예를 들어, 다음과 같습니다.
구성요소 항목 4의 다섯 번째 영역을 표시하려면 다음을 입력하십시오.
cdt 4 5
cfm
현재 스택 레지스터 표시. 예를 들어, 다음과 같습니다.
cfm
cpu [ num ]
CPU 상태 표시 또는 디버깅 CPU 변경. num은 스위치할 cpu 번호입니다. 예를 들어, 다음과 같습니다.
원래/기본 CPU로 다시 스위치하려면 다음을 입력하십시오.
cpu
현재 스레드를 CPU 2에 스위치하려면 다음을 입력하십시오.
cpu 2
d address | ordinal [ number ]
가상 메모리 표시 address는 덤프할 주소 또는 기호이고, ordinal은 바이트 액세스의 수(1,2,4 또는 8) 그리고 number는 덤프할 요소의 수입니다(ordinal의 크기로). 예를 들어, 다음과 같습니다.
주소 foo-20에서 20 개의 네 바이트 단어를 표시하려면 다음을 입력하십시오.
d foo-20 4 20
주소 0x1234에서 하나의 8 바이트 두 단어를 표시하려면 다음을 입력하십시오.
d (r32) 8 2
dcal expression_in_decimal
10진수 계산기. 예를 들어, 다음과 같습니다.
dcal 2+3*4
dev [ major_number ]
장치 스위치 테이블 표시 major_number는 표시할 주요 번호 슬롯입니다. 예를 들어, 다음과 같습니다.
전체 스위치 테이블을 표시하려면 다음을 입력하십시오.
dev
주요 21에 대한 스위치 테이블 항목을 표시하려면 다음을 입력하십시오.
dev 21
dis symbol | address [ count ]
입력 기호의 주소 또는 제공된 주소로부터 명령을 해체합니다. symbol 및 address는 해체할 주소 또는 기호이고, count는 해체할 번들의 수입니다. 예를 들어, 다음과 같습니다.
'foo'에서부터 번들 20을 해체하려면 다음을 입력하십시오.
dis foo 20
'foo'에서부터 번들 20을 해체하려면 다음을 입력하십시오.
dis (b0)-10
fpr [ regno ]
FPR(f0 - f121) 표시. regno는 fpr 레지스터 번호(0 - 127)입니다. 예를 들어, 다음과 같습니다.
모든 하위 FP(부동소수점) 레지스터를 표시하려면 다음을 입력하십시오.
fpr
f15를 표시하려면 다음을 입력하십시오.
fpr 15
hcal expression_in_hexa_decimal
10진수 계산기. 예를 들어, 다음과 같습니다.
hcal 2+3*a
heap [ -n { srad } [ address ] ] | [address ]
힙(기억장치) 정보 표시. n은 srad(또는 numa 노드) 번호입니다. 예를 들어, 다음과 같습니다.
디폴트 힙(기억장치)(numa 커널 힙)에 대한 세부 정보를 표시하려면 다음을 입력하십시오.
heap
srad 1의 디폴트 numa 힙(기억장치)에 대한 세부 정보를 표시하려면 다음을 입력하십시오.
heap -n 1
주소의 힙(기억장치)에 대한 세부 정보를 표시하려면 다음을 입력하십시오.
heap E000009710000000
주소의 numa 힙(기억장치)에 대한 세부 정보를 표시하려면 다음을 입력하십시오.
heap E0000000083849A8
노드의 numa 힙(기억장치)에 대한 세부 정보를 표시하려면 다음을 입력하십시오.
heap -n 0 kernel_heap
heap -n 0 E0000000083849A8
help [ cmd ]
간단한 설명과 함께 리스트 표시. cmd는 도움말이 필요한 명령입니다. 예를 들어, 다음과 같습니다.
디버거 명령 리스트를 표시하려면 다음을 입력하십시오.
도움말
mltrace 명령에 대한 도움말을 표시하려면 다음을 입력하십시오.
help mltrace
his [?] [count]
명령 내역 인쇄. count는 표시할 행의 수입니다. 예를 들어, 다음과 같습니다.
his
ifa
디폴트 결함 주소. 예를 들어, 다음과 같습니다.
ifa
iip
명령 포인터를 표시 또는 수정하려면 다음을 입력하십시오. 예를 들어, 다음과 같습니다.
명령 포인터를 표시하려면 다음을 입력하십시오.
iip
명령 포인터를 foo로 설정하려면 다음을 입력하십시오.
iip foo
현재 iip를 0x10씩 증분하려면 다음을 입력하십시오.
iip (iip)+0x10
iipa
명령 이전 주소 표시. 예를 들어, 다음과 같습니다.
iipa
intrh [ -l { level } ] | [-p { priority } ] | [-s { slot } ] | [-v { address } ]
인터럽트 처리기 정보 및 테이블 표시. -l은 인터럽트 레벨을 지정하고, -p는 인터럽터 우선순위 레벨을 지정하고, -s는 인터럽터 처리기의 슬롯을 지정하며, -v는 인터럽트 처리기 구조의 주소를 지정합니다. 예를 들어, 다음과 같습니다.
인터럽트 처리기 테이블을 표시하려면 다음을 입력하십시오.
intrh
16(0x10) 레벨의 인터럽트 처리기 테이블을 표시하려면 다음을 입력하십시오.
intrh -l 0x10
우선순위 5인 인터럽트 처리기 테이블을 표시하려면 다음을 입력하십시오.
intrh -p 5
슬롯 16의 인터럽트 처리기 테이블을 표시하려면 다음을 입력하십시오.
intrh -s 16
인터럽트 처리기 항목에 관한 세부 정보를 표시하려면 다음을 입력하십시오.
intrh -v 0xE0000000085850B0
itc
시간 레지스터 ITC ITM 및 ITV 표시. 예를 들어, 다음과 같습니다.
itc
iplcb
IPL 제어 블록 표시 예를 들어, 다음과 같습니다.
iplcb
kext
로드된 커널 확장 표시. 예를 들어, 다음과 같습니다.
모든 로드된 커널 확장 그리고 그 텍스트 및 로드 주소를 표시하려면 다음을 입력하십시오.
kext
kr [ regno ]
커널 레지스터 표시. regno는 커널 레지스터 번호(0 - )입니다. 예를 들어, 다음과 같습니다.
모든 커널 레지스터를 표시하려면 다음을 입력하십시오.
kr
커널 레지스터 7을 표시하려면 다음을 입력하십시오.
kr 7
lock [ -c ] | [-i ] | [ -l ] | [ -s ] | [ -v { address } ]
복합, 단순 및 Lockl 잠금 리스트 및 구조 표시. -c 플래그는 복합 잠금을 지정하고, -l은 단순(v3 스타일) 잠금을 지정하고, -i는 잠금에 관한 편성 정보를 지정하고(단순 및 복합 잠금에만 적용됨), -s는 단순 잠금을 지정하며, -v는 잠금의 주소를 지정합니다.
예제:
모든 유형(복합, 단순, lockl)의 잠금 리스트를 표시하려면 다음을 입력하십시오.
lock
복합 잠금의 리스트를 표시하려면 다음을 입력하십시오.
lock -c
lockl 잠금의 리스트를 표시하려면 다음을 입력하십시오.
lock -l
단순 잠금의 리스트를 표시하려면 다음을 입력하십시오.
lock -s
편성 정보와 함께 복합 잠금 리스트를 표시하려면 다음을 입력하십시오.
lock -c -i
편성 정보와 함께 단순 잠금 리스트를 표시하려면 다음을 입력하십시오.
lock -s -i
주소의 복합 잠금을 표시하려면 다음을 입력하십시오.
lock -c -v 0xE0000000085D1F30
주소의 lockl 잠금을 표시하려면 다음을 입력하십시오.
lock -l -v cons_lock
주소의 단순 잠금을 편성 정보와 함께 표시하려면 다음을 입력하십시오.
lock -s -i -v 0xE0000000083E1D70
ldsyms [ -p kernext_full_path ] kernext
로드된 커널 확장과 관련된 모든 기호를 캐쉬합니다. kernext는 커널 확장의 이름이고, kernext_full_path는 완전환 경로를 포함한 커널 확장의 이름입니다.
예제:
커널 확장 모듈 /usr/lib/drivers/lft_loadpin에 대한 기호를 로드하려면, 다음 중 하나를 사용하십시오.
ldsyms lft_loadpin
또는
ldsyms -p /usr/lib/drivers/lft_loadpin
map { symbol | address }
주소 대 기호 또는 기호 대 주소 맵. symbol은 주소를 표시할 기호이고 address는 기호를 표시할 주소입니다.
예제:
r34의 주소에 대한 기호를 찾아보려면, 다음을 입력하십시오.
map (r34)
주소 0xe000000000000000에 대한 기호를 찾아보려면 다음을 입력하십시오.
map 0xe000000000000000
기호 'foo' + 0x100에 대한 주소를 찾아보려면 다음을 입력하십시오.
map foo+0x100
mltrace [ p
내부 CPU 당 추적 버퍼 덤프. cpu는 추적 버퍼를 덤프할 CPU(논리적 번호지정)를 지정하고, entries는 덤프한 가장 최근 항목들의 수를 지정합니다.
예제:
현재 CPU에 대해 가장 최근 20 항목을 덤프하려면 다음을 입력하십시오.
mltrace 20
논리적 CPU 5에 대한 전체 추적 버퍼를 덤프하려면 다음을 입력하십시오.
mltrace p5
CPU 1에 대한 최종 10 항목을 덤프하려면 다음을 입력하십시오.
mltrace p1 10
주: 이 기능은 개발 커널(DEBUG로 컴파일된)에서만 사용 가능합니다.
mst [ addr ]
기계 상태 스택 표시. addr은 표시할 MST의 주소입니다.
예제:
디버그 중인 현재 문맥을 표시하려면 다음을 입력하십시오.
mst
mst을 kr6의 내용을 두 번 참조 해제한 후 csa-prev-prev와 동일하게 형식화하려면 다음을 입력하십시오.
mst (((kr6)))
주소의 내용을 mst로서 형식화하려면 다음을 입력하십시오.
mst 0x3ff002ff3b400
p [ regno ]
술어 레지스터 표시/설정. regno는 술어 레지스터 번호(0 - 63)입니다.
예제:
모든 술어 레지스터를 표시하려면 다음을 입력하십시오.
P
술어 레지스터 p6을 표시하려면 다음을 입력하십시오.
p 6
pnda [ srad ]
노드당 설명자 영역 표시. srad는 어떤 srad의 노드당 설명자 영역(pnda)을 표시할지를 지정합니다.
예제:
현재 srad의 PNDA를 표시하려면 다음을 입력하십시오.
pnda
srad 3의 PNDA를 표시하려면 다음을 입력하십시오.
pnda 3
ppda [ cpu ]
프로세서당 설명자 영역 표시. cpu는 어떤 CPU의 ppda를 표시할지를 지정합니다(논리적 번호 지정).
예제:
현재 CPU의 PPDA를 표시하려면 다음을 입력하십시오.
ppda
CPU 3의 PPDA를 표시하려면 다음을 입력하십시오.
ppda 3
pr [ -p | -s | -v { value } ] [-a] [* ]
프로세스 구조 정보를 표시. -p { value }는 PID = {value}인 프로세스를 지정하고, -s {value}는 슬롯 {value}의 프로세스를 지정하고, -v {value}는 proc struct pointer ={value}를 지정하고, -a는 모든 프로세스에 대한 세부 표시를 지정하며, *는 표시할 프로세스 테이블을 지정합니다.
예제:
현재 프로세스에 대한 pv 구조 세부사항을 표시하려면 다음을 입력하십시오.
pr
프로세스 테이블을 표시하려면 다음을 입력하십시오.
pr *
슬롯 3의 프로세스에 대한 세부사항을 표시하려면 다음을 입력하십시오.
pr -s 3
프로세스 PID 0x204에 대한 세부사항을 표시하려면 다음을 입력하십시오.
pr -p 0x204
pvpr [ -p | -s | -v { value ] [ -a] [* ]
PvProcess 구조 정보 표시. -p { value }는 PID = {value}인 프로세스를 지정하고, -s {value}는 슬롯 {value}의 프로세스를 지정하고, -v {value}는 proc struct pointer ={value}를 지정하고, -a는 모든 프로세스에 대한 세부 표시를 지정하며, *는 표시할 프로세스 테이블을 지정합니다.
예제:
현재 프로세스에 대한 pv 구조 세부사항을 표시하려면 다음을 입력하십시오.
pvpr
프로세스 테이블을 표시하려면 다음을 입력하십시오.
pvpr *
슬롯 3의 프로세스에 대한 세부사항을 표시하려면 다음을 입력하십시오.
pvpr -s 3
프로세스 PID 0x204에 대한 세부사항을 표시하려면 다음을 입력하십시오.
pvpr -p 0x204
pvth [ -p | -s | -v { value ] [ -a] [* ]
PvThread 구조 정보 표시. -p { value }는 PID = {value}인 프로세스를 지정하고, -s {value}는 슬롯 {value}의 프로세스를 지정하고, -v {value}는 proc struct pointer ={value}를 지정하고, -a는 모든 프로세스에 대한 세부 표시를 지정하며, *는 표시할 프로세스 테이블을 지정합니다.
예제:
현재 스레드의 pvthread 구조 세부사항을 표시하려면 다음을 입력하십시오.
pvth
pvthread 테이블을 표시하려면 다음을 입력하십시오.
pvth *
슬롯 3의 스레드에 대한 세부사항을 표시하려면 다음을 입력하십시오.
pvth -s 3
스레드 PID 0x204에 대한 세부사항을 표시하려면 다음을 입력하십시오.
pvth -t 0x204
q 또는 quit 또는 go
iadb 명령을 종료합니다.
r [ regno ]
일반 레지스터 표시/설정. regno는 gpr 레지스터 번호(0 - 127)를 지정합니다.
예제:
모든 일반 레지스터를 표시하려면 다음을 입력하십시오.
r
레지스터 r12를 표시하려면 다음을 입력하십시오.
r 12
이유
iadb 명령이 호출된 이유를 표시합니다.
rse
레지스터 스택 레지스터를 표시
set [ parameter=value ]
iadb 매개변수를 나열 및 조작합니다.parameter=value은 다음과 같을 수 있습니다.
symbol_scope={1|2}
기호 탐색의 유효범위 설정. 1-커널 파일만, 2-모든 가능한 영역. 디폴트는 라이브 시스템에 대해서는 2, 덤프 파일에 대해서는 1입니다.
edit={vi|emacs|gmacs}
iadb 명령의 편집 모드를 설정합니다. 디폴트는 vi입니다.
disp_syms={0|1}
표시 기호 플래그를 설정합니다. d와 같은 명령은 기호를 표시하지 않습니다. 디폴트는 disp_syms=0입니다.
more= {on|off}
추가 구성을 설정합니다. 디폴트는 on입니다.
rows= number
현재 표시의 행 수를 설정합니다. 디폴트는 25입니다.
sw [ -s ][ -t ] [value ]
문맥을 특정 스레드로 스위치합니다. -s는 스레드 슬롯 번호를 지정하고, -t는 스레드 id 번호를 지정합니다.
예제:
원래 스레드로 스위치하려면 다음을 입력하십시오.
sw
슬롯 4의 스레드로 스위치하려면 다음을 입력하십시오.
sw -s 4
스레드 ID가 0x402인 스레드로 스위치하려면 다음을 입력하십시오.
sw -t 0x402
sys
다음과 같은 시스템 정보를 표시합니다.
구축 레벨 및 구축 날짜
프로세서의 번호와 유형
메모리 크기
프로세서 속도
버스 속도
t [ -s thread_slot ] [ -t thread_id ] [ -vthread_structure_pointer ]
호출 스택 추적. thread_slot은 요청된 스택 추적에 대한 스레드 슬롯을 지정하고, thread_id는 요청된 스택 추적에 대한 스레드 id를 지정하고, thread_structure_pointer는 pvthread에 대한 포인터를 지정합니다.
예제:
현재 문맥에 대한 스택 역추적을 표시하려면 다음을 입력하십시오.
t
스레드 슬롯 2에 대한 역추적을 표시하려면 다음을 입력하십시오.
t -s 2
주:
스택 역추적은 스택의 모든 주요 MST 즉, mst-prev, mst-prev-prev,..에 대해서도 표시됩니다.
역추적의 각 기능의 현재 프레임이 표시됩니다. 이들 프레임은 호출 시간의 현재 프레임을 나타냅니다. 출력 레지스터는 소멸성이므로, 그 내용은 보존되지 않습니다.
th [ -s { slot } | -t { tid } | -v { thrdptr } ] [ -a ] [ * ]
pthread 구조를 표시합니다. -s { slot }는 슬롯의 스레드에 대한 세부 스레드 정보를 제공하고, -t {tid}는 tid으 ㅣ스레드에 대한 세부 스레드 정보를 제공하고, -v { thrdptr }는 스레드 포인터 thrdptr에 대한 세부 스레드 정보를 제공하고, -a는 모든 스레드에 대한 세부 스레드 정보를 제공하며, * =는 스레드 테이블을 표시합니다.
예제:
현재 스레드에 대한 세부 정보를 표시하려면 다음을 입력하십시오.
th
전체 스레드 테이블을 표시하려면 다음을 입력하십시오.
th *
스레드 0x103에 대한 세부 정보를 표시하려면 다음을 입력하십시오.
th -t 0x103
unldsyms kernext
캐쉬에서 모든 커널 확장 기호를 제거합니다. kernext는 ldsyms 중의 kernext로서 제공된 것과 같은 문자열이어야 합니다.
예제:
unldsyms /usr/lib/drivers/lft_loadpin
xm [ -a ] [ -A ] [ size ] ] [ -c ] [ -C ] [ -d ] [ -D] [ -f ] [ -F ] [addr ] ] [ -h ] [ -H ] [ 0 ] [ 1 ] [ -l ] [ -p ] [ -s ] [ -S ] [ -u ] [-v ] [addr ]
Xmalloc 정보를 표시합니다(xmdbg가 사용 가능할 경우).
여기서,
-a
모든 할당 레코드를 표시합니다.
-A
모든 할당 레코드를 표시합니다.
-A size
지정된 size의 할당 레코드를 표시합니다.
-c
각 크기의 레코드 갯수를 표시합니다.
-C
각 호출 경로로부터 레코드의 갯수를 표시합니다.
-d
addr에 대한 레코드 해쉬 값과 연관된 디버그 xmalloc 커널 할당 레코드 해쉬 체인을 인쇄합니다.
-D
디버그 정보를 인쇄합니다.
-f
모든 사용 가능한 레코드를 표시합니다.
-F
모든 사용 가능한 레코드를 표시합니다.
-F addr
지정된 addr와 일치하는 사용 가능한 레코드를 표시합니다.
-h
addr와 연관된 디버그 xmalloc 커널 사용 가능 리스트의 레코드를 인쇄합니다.
-H 1
모든 기존 할당 레코드를 숨깁니다.
-H 0
현재 숨겨진 할당 레코드를 숨김 해제합니다.
-l
상세한 정보를 인쇄합니다.
-p
페이지 pageno에 대한 페이지 설명자 정보를 인쇄합니다.
-s
addr와 연관된 디버그 xmalloc 할당 레코드를 인쇄합니다.
-S
페이지 요약을 인쇄합니다.
-u
xmalloc 사용법 막대 그래프를 인쇄합니다.
-v
할당괸 레코드의 할당 트레일러 및 사용 가능한 레코드의 사용 가능 패턴을 검증합니다.
예제:
xm 0xE000009717AE6010
xm -l 0xE000009717AE6010
xm -D 0xE000009717AE6010
xm -l -D 0xE000009717AE6010
xm -a
xm -l -a
xm -d 200
xm -f
xm -l -f
xm -h 0xE000009714125D00
xm -l -p 2
xm -p 2
xm -p 2 0xE000009710000000
xm -s 0xE000009714056680
xm -l -s 0xE000009714056680
xm -D -s 0xE000009714056680
xm -S
xm -u
xm -v
참조:
sysdumpdev, sysdumpstart, crash, kdb, IADB(커널 디버거)
보안
활성 시스템에서 iadb를 수행하려면 루트 사용권한이 필요합니다.
파일:
/usr/sbin/iadb iadb 명령입니다. 이 파일은 패키지 bos.sysmgt의 일부로서 존재합니다.
/dev/mem 커널 메모리 엑세스 문자 특수 파일.
/unix 디폴트 커널 파일.
관련 정보
sysdumpdev 명령, sysdumpstart 명령, kdb 명령.