dbx 디버깅 환경 조정

부속 명령 별명을 작성하고 .dbxinit 파일에서 옵션을 지정하여 디버깅 환경을 조정할 수 있습니다. -c 플래그를 사용하여 파일에서 dbx 부속 명령을 읽을 수 있습니다.

다음 절에는 사용자 조정 옵션에 대한 자세한 정보가 있습니다.

새 dbx 프롬프트 정의

dbx 프롬프트는 보통 dbx 프로그램을 시작하는 데 사용된 이름입니다. 지정한 경우/usr/ucb/dbx a.out를 명령줄에 입력하면 다음과 같은 메시지가 표시됩니다/usr/ucb/dbx.

프롬프트 하위 명령을 사용하여 프롬프트를 변경하거나 .dbxinit 파일의 프롬프트 줄에 다른 프롬프트를 지정하여 프롬프트를 변경할 수 있습니다. .dbxinit 파일에서 프롬프트를 변경하면 dbx 프로그램을 초기화할 때마다 디폴트 대신에 해당 프롬프트가 사용됩니다.

예를 들어 디버그 프롬프트를 사용하여 dbx 프로그램을 초기화하려면 다음과 같이 하세요debug—>를 클릭하고 .dbxinit 파일에 다음 줄을 입력합니다:

prompt "debug-->"

dbx 부속 명령 별명 작성

dbx 원시 부속 명령 세트에서 직접 명령을 빌드할 수 있습니다. 다음 명령을 사용하여 지정된 인수에서 사용자 별명을 빌드할 수 있습니다. 별명에 대한 교체 문자열의 모든 명령은 dbx 원시 부속 명령이어야 합니다. 그럼 다음 dbx 기본요소 대신 별명을 사용할 수 있습니다.

인수가 없는 별칭 하위 명령은 현재 사용 중인 별칭을 표시하고, 인수가 하나이면 해당 별칭과 연결된 대체 문자열을 표시합니다.

alias [별칭 이름[ CommandName] ]

별칭 별칭 AliasName "CommandString"

별칭 AliasName (Parameter1, Parameter2, .. . ) "CommandString"

alias 부속 명령의 첫 번째 두 양식은 alias의 교체 문자열이 사용될 때마다 이를 대체하는 데 사용됩니다. 별명 지정의 세 번째 형식은 제한된 매크로 기능입니다. alias 부속 명령에 지정된 각 매개변수는 교체 문자열에서 대체됩니다.

다음 별명 및 연관된 부속 명령 이름은 디폴트 값입니다.

attr
attribute
bfth
stop(지정된 함수의 해당 스레드)
blth
stop(지정된 소스 행의 해당 스레드)
c
cont
cv
condition
d
삭제
e
편집
h
도움
j
상태
l
목록
m
map
mu
mutex
n
다음
p
print
q
종료
r
run
s
진행
st
정지
t
where
th
스레드
x
레지스터

별칭을 제거하려면 unalias 명령을 사용하여 별칭을 제거할 수 있습니다.

.dbxinit 파일 사용

디버깅 세션을 시작할 때마다 dbx 프로그램이 실행할 dbx 부속 명령의 리스트를 포함하는 .dbxinit라는 특수 초기화 파일을 검색합니다. 이러한 부속 명령은 dbx 프로그램이 표준 입력에서 부속 명령을 읽기 시작하기 전에 실행됩니다. dbx 명령이 시작되면 사용자의 현재 디렉토리 및 사용자의 $HOME 디렉토리에서 .dbxinit 파일을 확인합니다. .dbxinit 파일이 있으면 해당 부속 명령이 디버그 세션 시작 시 실행됩니다. .dbxinit 파일이 홈 및 현재 디렉토리 모두에 있으면 두 디렉토리 모두를 해당 순서대로 읽습니다. 현재 디렉토리 .dbxinit 파일을 마지막으로 읽기 때문에 부속 명령은 홈 디렉토리의 부속 명령을 대체할 수 있습니다.

일반적으로 .dbxinit 파일에는 별칭 하위 명령이 포함되지만 유효한 모든 dbx 하위 명령이 포함될 수 있습니다. 예를 들어 다음과 같습니다.

$ cat .dbxinit
alias si "stop in"
prompt "dbg-->"
$ dbx a.out
dbx version 3.1
Type 'help' for help.
reading symbolic information . . . 
dbg--> alias
si   stop in
t    where . . . 
dbg-->

파일에서 dbx 부속 명령 읽기

-c 호출 옵션 및 .dbxinit 파일은 표준 입력에서 읽기 전에 dbx 부속 명령 실행에 필요한 메커니즘을 제공합니다. -c 옵션이 지정된 경우, dbx 프로그램이 .dbxinit 파일을 검색하지 않습니다. 디버깅 세션이 시작되면 소스 하위 명령을 사용하여 파일에서 dbx 하위 명령을 읽습니다.

cmdfile 파일에서 명령의 리스트를 실행한 후 dbx 프로그램이 프롬프트를 표시하고 입력을 기다립니다.

-c 옵션을 사용하여 dbx 프로그램을 처음 시작할 때 실행할 부속 명령의 리스트를 지정할 수도 있습니다.

스핀락(spinlock) 디버깅

' dbx ' 프로그램을 사용하여 스핀락을 디버깅할 수 있습니다. 이 작업을 수행하려면 AIXTHREAD_SPINLOCKS 환경 변수를 ON으로 설정하십시오.