이는 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 aarch64-linux-gnu-nm 명령입니다.
프로그램:
이름
nm - 개체 파일의 기호 나열
개요
nm [-A|-o|--인쇄 파일 이름] [-a|--디버그-심즈]
[-B|--형식=bsd] [-C|--demangle[=스타일]]
[-D|--동적] [-f체재|--형식=체재]
[-g|--외부 전용] [-h|--도움]
[-l|--줄 번호] [-n|-v|--숫자 정렬]
[-P|--휴대성] [-p|--정렬 없음]
[-r|--역순 정렬] [-S|--인쇄 크기]
[-s|--print-armmap] [-t 어근|--기수=어근]
[-u|--정의되지 않은 전용] [-V|--번역]
[-X 32_64] [--정의만] [-- 엉킴 없음]
[--플러그인 name] [--크기 정렬] [--특수 기호]
[--인조] [--대상=bfd 이름]
[개체 파일...]
기술
GNU nm 개체 파일의 기호를 나열합니다. 개체 파일.... 객체 파일이 다음과 같이 나열되지 않는 경우
인수, nm 파일을 가정합니다 아웃.
각 기호에 대해, nm 보여줍니다 :
· 기호 값, 옵션으로 선택한 기수(아래 참조) 또는 다음으로 XNUMX진수
태만.
· 기호 유형. 최소한 다음 유형이 사용됩니다. 다른 사람들도 마찬가지로,
개체 파일 형식에 따라 다릅니다. 소문자인 경우 기호는 일반적으로 로컬입니다. 만약
대문자인 경우 기호는 전역(외부)입니다. 그러나 몇 가지 소문자 기호가 있습니다.
특수 전역 기호("u", "v" 및 "w")에 대해 표시됩니다.
"A" 기호의 값은 절대값이며 더 이상 연결해도 변경되지 않습니다.
"비"
"b" 기호는 초기화되지 않은 데이터 섹션(BSS로 알려짐)에 있습니다.
"C" 기호는 공통입니다. 공통 기호는 초기화되지 않은 데이터입니다. 링크할 때,
여러 공통 기호가 같은 이름으로 나타날 수 있습니다. 기호가 정의된 경우
어디에서나 공통 기호는 정의되지 않은 참조로 취급됩니다.
"D"
"d" 기호는 초기화된 데이터 섹션에 있습니다.
"지"
"g" 기호는 작은 개체에 대한 초기화된 데이터 섹션에 있습니다. 일부 개체 파일
형식은 전역 int와 같은 작은 데이터 개체에 대한 보다 효율적인 액세스를 허용합니다.
큰 전역 배열과 반대되는 변수입니다.
"i" PE 형식 파일의 경우 기호가 특정 섹션에 있음을 나타냅니다.
DLL의 구현. ELF 형식 파일의 경우 기호가
간접 기능. 이것은 ELF 기호의 표준 세트에 대한 GNU 확장입니다.
유형. 재배치에 의해 참조되는 경우 다음을 수행하지 않는 기호를 나타냅니다.
주소로 평가되지만 대신 런타임에 호출되어야 합니다. 런타임
실행은 재배치에 사용될 값을 반환합니다.
"I" 기호는 다른 기호에 대한 간접적인 참조입니다.
"N" 기호는 디버깅 기호입니다.
"p" 기호는 스택 해제 섹션에 있습니다.
"아르 자형"
"r" 기호가 읽기 전용 데이터 섹션에 있습니다.
"에스"
"s" 기호는 작은 개체에 대한 초기화되지 않은 데이터 섹션에 있습니다.
"NS"
"t" 기호는 텍스트(코드) 섹션에 있습니다.
"U" 기호가 정의되지 않았습니다.
"u" 기호는 고유한 글로벌 기호입니다. 이것은 표준 세트에 대한 GNU 확장입니다.
ELF 심볼 바인딩. 이러한 기호에 대해 동적 링커는 다음을 확인합니다.
전체 프로세스에서 이 이름과 유형을 사용하는 기호는 하나만 있습니다.
"V"
"v" 기호는 약한 개체입니다. 약한 정의 기호가 일반 기호와 연결될 때
정의된 기호, 일반 정의된 기호는 오류 없이 사용됩니다. 약할 때
정의되지 않은 기호가 연결되어 있고 기호가 정의되지 않은 경우 약한 값
기호는 오류 없이 XNUMX이 됩니다. 일부 시스템에서 대문자는 다음을 나타냅니다.
기본값이 지정되었습니다.
"W"
"w" 기호는 약한 개체로 특별히 태그가 지정되지 않은 약한 기호입니다.
상징. 약한 정의 기호가 일반 정의 기호와 연결되면
정상 정의된 기호는 오류 없이 사용됩니다. 약한 정의되지 않은 기호가 다음과 같을 때
연결되고 기호가 정의되지 않은 경우 기호의 값은
오류가 없는 시스템별 방식. 일부 시스템에서 대문자는 다음을 나타냅니다.
기본값이 지정되었습니다.
"-" 기호는 a.out 개체 파일의 찌르기 기호입니다. 이 경우 다음
인쇄된 값은 stabs other 필드, stabs desc 필드 및 stab 유형입니다.
찌르기 기호는 디버깅 정보를 저장하는 데 사용됩니다.
"?" 기호 유형을 알 수 없거나 개체 파일 형식에 따라 다릅니다.
· 기호 이름.
옵션
여기에 대안으로 표시된 길고 짧은 형태의 옵션은 동일합니다.
-A
-o
--인쇄 파일 이름
각 기호 앞에 해당 기호가 있던 입력 파일(또는 아카이브 멤버)의 이름이 옵니다.
모든 기호 앞에 입력 파일을 한 번만 식별하는 대신 찾았습니다.
-a
--디버그-심즈
디버거 전용 기호를 포함한 모든 기호를 표시합니다. 일반적으로 이들은 나열되지 않습니다.
-B 같은 --형식=bsd (MIPS와의 호환성을 위해 nm).
-C
--디앵글[=스타일]
디코딩(엉킴) 저수준 기호 이름을 사용자 수준 이름으로 변환합니다. 제거하는 것 외에도
시스템 앞에 밑줄이 추가되어 C++ 함수 이름을 읽을 수 있습니다.
컴파일러마다 맹글링 스타일이 다릅니다. 선택적 디망글링 스타일
인수를 사용하여 컴파일러에 적합한 디맹글링 스타일을 선택할 수 있습니다.
-- 엉킴 없음
낮은 수준의 기호 이름을 demangle하지 마십시오. 이것이 기본값입니다.
-D
--동적
일반 기호가 아닌 동적 기호를 표시합니다. 이것만으로도 의미가 있다
특정 유형의 공유 라이브러리와 같은 동적 개체의 경우.
-f 체재
--형식=체재
출력 형식 사용 체재, "bsd", "sysv" 또는 "posix"일 수 있습니다. 기본값은
"BSD". 의 첫 번째 문자만 체재 중요하다; 그것은 위쪽 또는
소문자.
-g
--외부 전용
외부 기호만 표시합니다.
-h
--도움
옵션 요약 표시 nm 종료하십시오.
-l
--줄 번호
각 기호에 대해 디버깅 정보를 사용하여 파일 이름과 줄 번호를 찾습니다.
정의된 기호의 경우 기호 주소의 행 번호를 찾습니다. 를 위해
정의되지 않은 기호, 다음을 참조하는 재배치 항목의 줄 번호를 찾습니다.
상징. 줄 번호 정보를 찾을 수 있으면 다른 기호 뒤에 인쇄하십시오.
정보.
-n
-v
--숫자 정렬
기호를 알파벳순으로 정렬하지 않고 주소를 기준으로 숫자순으로 기호를 정렬합니다.
이름.
-p
--정렬 없음
기호를 어떤 순서로든 정렬하지 마십시오. 발생한 순서대로 인쇄하십시오.
-P
--휴대성
기본 형식 대신 POSIX.2 표준 출력 형식을 사용합니다. 에 해당
-f POSIX.
-r
--역순 정렬
정렬 순서를 반대로 합니다(숫자 또는 알파벳). 마지막이 되자
먼저.
-S
--인쇄 크기
"bsd" 출력 스타일에 대해 정의된 기호의 값과 크기를 모두 인쇄합니다. 이 옵션
기호 크기를 기록하지 않는 개체 형식에는 영향을 미치지 않습니다. --크기 정렬
계산된 크기가 표시되는 경우에도 사용됩니다.
-s
--print-armmap
아카이브 구성원의 기호를 나열할 때 색인을 포함하십시오. 매핑(
아카이브 ar or 란립)의 모듈에는 어떤 이름에 대한 정의가 포함되어 있습니다.
-t 어근
--기수=어근
어근 기호 값을 인쇄하기 위한 기수로 사용됩니다. 그것은 있어야합니다 d 소수의 경우, o
XNUMX진수 또는 x XNUMX진수의 경우.
-u
--정의되지 않은 전용
정의되지 않은 기호(각 개체 파일의 외부에 있는 기호)만 표시합니다.
-V
--번역
버전 번호 표시 nm 종료하십시오.
-X 이 옵션은 AIX 버전의 호환성을 위해 무시됩니다. nm. 하나 걸립니다
문자열이어야 하는 매개변수 32_64. AIX의 기본 모드 nm 에 해당
-X 32, GNU에서 지원하지 않는 nm.
--정의만
각 개체 파일에 대해 정의된 기호만 표시합니다.
--플러그인 name
라는 플러그인을 로드합니다. name 추가 대상 유형에 대한 지원을 추가합니다. 이 옵션은
도구 체인이 플러그인 지원이 활성화된 상태로 구축된 경우에만 사용할 수 있습니다.
--크기 정렬
크기별로 기호를 정렬합니다. 크기는 다음 값 사이의 차이로 계산됩니다.
기호 및 다음으로 높은 값을 갖는 기호의 값. "bsd"가 출력되면
형식이 사용되며 값이 아닌 기호의 크기가 인쇄됩니다. -S 절대로 필요한 것
크기와 값 모두 인쇄할 순서대로 사용하십시오.
--특수 기호
대상에 특정한 특별한 의미가 있는 기호를 표시합니다. 이러한 기호는
일반적으로 일부 특수 처리를 위해 대상에 의해 사용되며 일반적으로 도움이 되지 않습니다.
일반 기호 목록에 포함될 때. 예를 들어 ARM 대상의 경우 이 옵션
ARM 코드, THUMB 코드 간의 전환을 표시하는 데 사용되는 매핑 기호를 건너뜁니다.
및 데이터.
--인조
출력에 합성 기호를 포함합니다. 에 의해 생성된 특수 기호입니다.
다양한 목적을 위한 링커. 의 일부가 아니므로 기본적으로 표시되지 않습니다.
바이너리의 원본 소스 코드.
--대상=bfd 이름
시스템의 기본 형식이 아닌 다른 개체 코드 형식을 지정합니다.
@파일
다음에서 명령줄 옵션 읽기 파일. 읽은 옵션은 다음 위치에 삽입됩니다.
원래의 @파일 옵션. 만약에 파일 존재하지 않거나 읽을 수 없는 경우 옵션
문자 그대로 처리되며 제거되지 않습니다.
옵션 파일 공백으로 구분됩니다. 공백 문자가 포함될 수 있습니다.
옵션에서 전체 옵션을 작은따옴표나 큰따옴표로 묶습니다. 어느
문자(백슬래시 포함)는
백슬래시와 함께 포함됩니다. NS 파일 자체에 추가 @가 포함될 수 있습니다.파일 옵션; 어느
이러한 옵션은 재귀적으로 처리됩니다.
onworks.net 서비스를 사용하여 온라인에서 aarch64-linux-gnu-nm 사용