addr2line(1) - wariua/manpages-ko GitHub Wiki

NAME

addr2line - μ£Όμ†Œλ₯Ό 파일 이름과 ν–‰ 번호둜 λ³€ν™˜ν•˜κΈ°

SYNOPSIS

addr2line [-a|--addresses]
          [-b bfdname|--target=bfdname]
          [-C|--demangle[=style]]
          [-e filename|--exe=filename]
          [-i|--inlines]
          [-p|--pretty-print]
          [-j|--section=name]
          [-H|--help] [-V|--version]
          [addr addr ...]

DESCRIPTION

addr2line은 μ£Όμ†Œλ₯Ό 파일 이름과 ν–‰ 번호둜 λ°”κΏ” μ€€λ‹€. μ‹€ν–‰ 파일 λ‚΄ μ£Όμ†Œλ‚˜ 재배치 κ°€λŠ₯ 였브젝트 μ„Ήμ…˜ λ‚΄ μ˜€ν”„μ…‹μ„ λ°›μ•„μ„œ 디버깅 정보λ₯Ό μ΄μš©ν•΄ μ—°κ³„λœ 파일 이름과 ν–‰ 번호λ₯Ό μ•Œμ•„λ‚Έλ‹€.

μ‚¬μš©ν•  μ‹€ν–‰ 파일 λ‚΄μ§€ 재배치 κ°€λŠ₯ 였브젝트λ₯Ό -e μ˜΅μ…˜μœΌλ‘œ μ§€μ •ν•œλ‹€. 기본은 a.out νŒŒμΌμ΄λ‹€. μ‚¬μš©ν•  재배치 κ°€λŠ₯ 였브젝트 λ‚΄ μ„Ήμ…˜μ€ -j μ˜΅μ…˜μœΌλ‘œ μ§€μ •ν•œλ‹€.

addr2lineμ—λŠ” 두 κ°€μ§€ λ™μž‘ 방식이 μžˆλ‹€.

첫 번째 λ°©μ‹μ—μ„œλŠ” λͺ…λ Ήν–‰μ—μ„œ 16μ§„μˆ˜ μ£Όμ†Œλ₯Ό μ§€μ •ν•˜λ©΄ addr2line이 각 μ£Όμ†Œμ— λŒ€ν•œ 파일 이름과 ν–‰ 번호λ₯Ό ν‘œμ‹œν•œλ‹€.

두 번째 λ°©μ‹μ—μ„œλŠ” addr2line이 ν‘œμ€€ μž…λ ₯μœΌλ‘œλΆ€ν„° 16μ§„μˆ˜ μ£Όμ†Œλ₯Ό μ½μ–΄μ„œ 각 μ£Όμ†Œμ— λŒ€ν•œ 파일 이름과 ν–‰ 번호λ₯Ό ν‘œμ€€ 좜λ ₯으둜 μ°λŠ”λ‹€. 이 방식을 μ“°λ©΄ νŒŒμ΄ν”„ 내에 addr2line을 μ¨μ„œ λ™μ μœΌλ‘œ μ„ νƒν•œ μ£Όμ†Œλ₯Ό λ³€ν™˜ν•  수 μžˆλ‹€.

좜λ ₯ ν˜•μ‹μ€ FILENAME:LINENO이닀. 기본적으둜 각 μž…λ ₯ μ£Όμ†Œκ°€ ν•œ ν–‰μ”© 좜λ ₯을 λ§Œλ“€μ–΄ λ‚Έλ‹€.

각 FILENAME:LINENO ν–‰ μ•žμ— 행을 μΆ”κ°€ν•  수 μžˆλŠ” μ˜΅μ…˜μ΄ 두 κ°€μ§€ μžˆλ‹€.

-a μ˜΅μ…˜μ„ μ“°λ©΄ μž…λ ₯ μ£Όμ†Œ 행을 ν‘œμ‹œν•œλ‹€.

-f μ˜΅μ…˜μ„ μ“°λ©΄ FUNCTIONNAME 행을 ν‘œμ‹œν•œλ‹€. κ·Έ μ£Όμ†Œλ₯Ό 담은 ν•¨μˆ˜μ˜ 이름이닀.

FILENAME:LINENO ν–‰ 뒀에 행을 μΆ”κ°€ν•  수 μžˆλŠ” μ˜΅μ…˜μ΄ ν•œ κ°€μ§€ μžˆλ‹€.

-i μ˜΅μ…˜μ„ μ“°λ©΄ ν•΄λ‹Ή μ£Όμ†Œκ°€ 컴파일러 인라인 처리 λ•Œλ¬Έμ— κ±°κΈ° μžˆλŠ” 것이면 뒀에 행듀을 μΆ”κ°€λ‘œ ν‘œμ‹œν•œλ‹€. 인라인 처리된 ν•¨μˆ˜λ§ˆλ‹€ ν•œ ν–‰ λ˜λŠ” (-f μ˜΅μ…˜μ„ μ“΄ 경우) 두 행씩을 μΆ”κ°€λ‘œ ν‘œμ‹œν•œλ‹€.

λ˜λŠ” -p μ˜΅μ…˜μ„ μ“°λ©΄ 각 μž…λ ₯ μ£Όμ†Œλ§ˆλ‹€ μ£Όμ†Œ, ν•¨μˆ˜ 이름, 파일 이름, ν–‰ 번호λ₯Ό 담은 ν•œ μ€„μ§œλ¦¬ κΈ΄ 행이 좜λ ₯λœλ‹€. -iκΉŒμ§€ 썼닀면 인라인 처리된 ν•¨μˆ˜λ“€λ„ 같은 λ°©μ‹μœΌλ‘œ 찍히되, 별도 ν–‰μ—μ„œ μ•žμ— (inlined by)κ°€ λΆ™μ–΄μ„œ ν‘œμ‹œλœλ‹€.

파일 μ΄λ¦„μ΄λ‚˜ ν•¨μˆ˜ 이름을 μ•Œμ•„λ‚Ό 수 μ—†μœΌλ©΄ addr2lineμ—μ„œλŠ” κ·Έ μžλ¦¬μ— λ¬ΌμŒν‘œ 두 개λ₯Ό μ°λŠ”λ‹€. ν–‰ 번호λ₯Ό μ•Œμ•„λ‚Ό 수 μ—†μœΌλ©΄ addr2lineμ—μ„œλŠ” 0을 μ°λŠ”λ‹€.

OPTIONS

μ—¬κΈ° 같이 λ‚˜μ™€ μžˆλŠ” κΈ΄ μ˜΅μ…˜κ³Ό 짧은 μ˜΅μ…˜μ€ λ™λ“±ν•˜λ‹€.

-a
--addresses
ν•¨μˆ˜ 이름과 파일 및 ν–‰ 번호 정보 μ•žμ— μ£Όμ†Œλ₯Ό ν‘œμ‹œν•œλ‹€. μ‰½κ²Œ 식별할 수 μžˆλ„λ‘ μ£Όμ†Œ μ•žμ— 0xλ₯Ό λΆ™μ—¬μ„œ μ°λŠ”λ‹€.
-b bfdname
--target=bfdname
였브젝트 파일의 였브젝트 μ½”λ“œ ν˜•μ‹μ΄ bfdname이라고 μ§€μ •ν•œλ‹€.
-C
--demangle[=style]
μ €μˆ˜μ€€ 심볼 이름을 μ‚¬μš©μž μˆ˜μ€€ μ΄λ¦„μœΌλ‘œ 해독(*λ””λ§ΉκΈ€(demangle)*)ν•œλ‹€. μ‹œμŠ€ν…œμ—μ„œ μ•žμ— 뢙인 밑쀄을 μ—†μ• λŠ” 것에 λ”ν•΄μ„œ C++ ν•¨μˆ˜ 이름을 읽을 수 있게 λ§Œλ“€μ–΄ μ€€λ‹€. μ»΄νŒŒμΌλŸ¬λ§ˆλ‹€ 맹글링(mangling) 방식이 λ‹€λ₯΄λ‹€. 선택적인 해독 방식 인자λ₯Ό μ‚¬μš©ν•΄μ„œ 자기 μ»΄νŒŒμΌλŸ¬μ— λ§žλŠ” 해독 방식을 선택할 수 μžˆλ‹€.
-e filename
--exe=filename
μ£Όμ†Œλ“€μ„ λ³€ν™˜ν•  μ‹€ν–‰ 파일의 이름을 μ§€μ •ν•œλ‹€. κΈ°λ³Έ νŒŒμΌμ€ a.out이닀.
-f
--functions
파일 및 ν–‰ 번호 정보와 ν•¨κ»˜ ν•¨μˆ˜ 이름도 ν‘œμ‹œν•œλ‹€.
-s
--basenames
각 파일 μ΄λ¦„μ˜ κΈ°λ³Έ μ΄λ¦„λ§Œ ν‘œμ‹œν•œλ‹€.
-i
--inlines
μ£Όμ†Œκ°€ 인라인 처리된 ν•¨μˆ˜μ— μ†ν•˜λ©΄ 첫 번째 비인라인 ν•¨μˆ˜κΉŒμ§€μ˜ λͺ¨λ“  κ°μ‹ΈλŠ” μŠ€μ½”ν”„μ— λŒ€ν•œ μ†ŒμŠ€ 정보λ₯Ό ν•¨κ»˜ μ°λŠ”λ‹€. 예λ₯Ό λ“€μ–΄ "main"μ—μ„œ "callee1"을 인라인 ν•˜κ³  κ±°κΈ°μ„œ λ‹€μ‹œ "callee2"λ₯Ό 인라인 ν•˜λŠ”λ° μ£Όμ†Œκ°€ "callee2"에 있으면 "callee1" 및 "main"에 λŒ€ν•œ μ†ŒμŠ€ 정보도 ν•¨κ»˜ μ°νžŒλ‹€.
-j
--section
μ ˆλŒ€ μ£Όμ†Œκ°€ μ•„λ‹ˆλΌ μ§€μ •ν•œ μ„Ήμ…˜ κΈ°μ€€ μ˜€ν”„μ…‹μ„ μ½λŠ”λ‹€.
-p
--pretty-print
좜λ ₯을 더 인간 μΉœν™”μ μœΌλ‘œ λ§Œλ“ λ‹€. 즉 각 μœ„μΉ˜λ₯Ό ν•œ 행에 μ°λŠ”λ‹€. -i μ˜΅μ…˜μ„ μ§€μ •ν•˜λ©΄ λͺ¨λ“  κ°μ‹ΈλŠ” μŠ€μ½”ν”„ ν–‰ μ•žμ— (inlined by)κ°€ λΆ™λŠ”λ‹€.
@file

fileμ—μ„œ λͺ…λ Ήν–‰ μ˜΅μ…˜λ“€μ„ μ½λŠ”λ‹€. 읽어 듀인 μ˜΅μ…˜λ“€μ΄ μ›λž˜ @file μ˜΅μ…˜ μžλ¦¬μ— λ“€μ–΄κ°„λ‹€. file이 μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜ 읽을 수 μ—†λŠ” κ²½μš°μ—λŠ” 이 μ˜΅μ…˜μ„ μ œκ±°ν•˜μ§€ μ•Šκ³  문자 κ·ΈλŒ€λ‘œ λ‹€λ£¨κ²Œ λœλ‹€.

file λ‚΄μ˜ μ˜΅μ…˜λ“€μ€ 곡백으둜 κ΅¬λΆ„ν•œλ‹€. μ˜΅μ…˜μ— 곡백 문자λ₯Ό ν¬ν•¨μ‹œν‚€λ €λ©΄ μ˜΅μ…˜ 전체λ₯Ό μž‘μ€λ”°μ˜΄ν‘œλ‚˜ ν°λ”°μ˜΄ν‘œλ‘œ 감싸면 λœλ‹€. 문자 μ•žμ— λ°±μŠ¬λž˜μ‹œλ₯Ό 뢙이면 (λ°±μŠ¬λž˜μ‹œλ₯Ό ν¬ν•¨ν•œ) μ–΄λ–€ λ¬Έμžλ“  집어넣을 수 μžˆλ‹€. file μžμ²΄μ— λ‹€μ‹œ @file μ˜΅μ…˜μ΄ μžˆμ„ 수 μžˆλ‹€. 그러면 μž¬κ·€μ μœΌλ‘œ μ²˜λ¦¬κ°€ 이뀄진닀.

SEE ALSO

info binutils ν•­λͺ©.

COPYRIGHT

Copyright (c) 1991-2018 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".


2018-09-12

binutils-2.30-system

⚠️ **GitHub.com Fallback** ⚠️