Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ aarch64-linux-gnu-strip ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
์คํธ๋ฆฝ - ๊ฐ์ฒด ํ์ผ์์ ๊ธฐํธ๋ฅผ ๋ฒ๋ฆฝ๋๋ค.
๊ฐ์
์คํธ๋ฆฝ [-F bfd ์ด๋ฆ |--๋์=bfd ์ด๋ฆ]
[-I bfd ์ด๋ฆ |--์ ๋ ฅ ๋์=bfd ์ด๋ฆ]
[-O bfd ์ด๋ฆ |--์ถ๋ ฅ ๋์=bfd ์ด๋ฆ]
[-s|-๋ชจ๋ ์คํธ๋ฆฝ]
[-S|-g|-d|--์คํธ๋ฆฝ-๋๋ฒ๊ทธ]
[--strip-dwo]
[-K ๊ธฐํธ ์ด๋ฆ |--keep-symbol =๊ธฐํธ ์ด๋ฆ]
[-N ๊ธฐํธ ์ด๋ฆ |--์คํธ๋ฆฝ ๊ธฐํธ=๊ธฐํธ ์ด๋ฆ]
[-w|-์์ผ๋ ์นด๋]
[-x|--๋ชจ๋ ์ญ์ ] [-X |--discard-locals]
[-R ์น์ ์ด๋ฆ |--์ ๊ฑฐ ์น์ =์น์ ์ด๋ฆ]
[-o ํ์ผ] [-p|--๋ณด์กด ๋ ์ง]
[-D|--๊ฒฐ์ ์ ์์นด์ด๋ธ ํ์ฑํ]
[-U|--disable-๊ฒฐ์ ๋ก ์ ์์นด์ด๋ธ]
[--ํ์ผ ๊ธฐํธ ์ ์ง]
[--๋ง-์ ์ง-๋๋ฒ๊ทธ]
[-v |--๋ง ์๊ฐ ๋ง์] [-V|--๋ฒ์ญ]
[--๋์] [--์ ๋ณด]
๊ฐ์ฒด ํ์ผ...
๊ธฐ์
GNU ์กฐ๊ฐ ๊ฐ์ฒด ํ์ผ์ ๋ชจ๋ ๊ธฐํธ๋ฅผ ๋ฒ๋ฆฝ๋๋ค. ๊ฐ์ฒด ํ์ผ. ๋ชฉ์ ํ์ผ ๋ชฉ๋ก์
์์นด์ด๋ธ๋ฅผ ํฌํจํฉ๋๋ค. ์ต์ํ ํ๋์ ๋ชฉ์ ํ์ผ์ด ์ ๊ณต๋์ด์ผ ํฉ๋๋ค.
์กฐ๊ฐ ์๋์ ์์ ๋ ์ฌ๋ณธ์ ์์ฑํ๋ ๋์ ์ธ์์ ๋ช ๋ช ๋ ํ์ผ์ ์์ ํฉ๋๋ค.
๋ค๋ฅธ ์ด๋ฆ.
์ต์
-F bfd ์ด๋ฆ
--๋์=bfd ์ด๋ฆ
์๋ณธ ์ฒ๋ฆฌ ๊ฐ์ฒด ํ์ผ ๊ฐ์ฒด ์ฝ๋ ํ์์ ํ์ผ๋ก bfd ์ด๋ฆ, ๋ค์ ์์ฑ
๊ฐ์ ํ์์ผ๋ก ํฉ๋๋ค.
--๋์
์ต์ ์์ฝ ํ์ ์กฐ๊ฐ ์ข ๋ฃํ์ญ์์ค.
--์ ๋ณด
์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ํคํ ์ฒ ๋ฐ ๊ฐ์ฒด ํ์์ ๋ณด์ฌ์ฃผ๋ ๋ชฉ๋ก์ ํ์ํฉ๋๋ค.
-I bfd ์ด๋ฆ
--์ ๋ ฅ ๋์=bfd ์ด๋ฆ
์๋ณธ ์ฒ๋ฆฌ ๊ฐ์ฒด ํ์ผ ๊ฐ์ฒด ์ฝ๋ ํ์์ ํ์ผ๋ก bfd ์ด๋ฆ.
-O bfd ์ด๋ฆ
--์ถ๋ ฅ ๋์=bfd ์ด๋ฆ
๊ต์ฒด ๊ฐ์ฒด ํ์ผ ์ถ๋ ฅ ํ์์ ํ์ผ๋ก bfd ์ด๋ฆ.
-R ์น์ ์ด๋ฆ
--์ ๊ฑฐ ์น์ =์น์ ์ด๋ฆ
์ด๋ฆ์ด ์ง์ ๋ ์น์ ์ ์ ๊ฑฐํ์ญ์์ค. ์น์ ์ด๋ฆ ์ถ๋ ฅ ํ์ผ์์
๊ทธ๋ ์ง ์์ผ๋ฉด ์น์ ์ด ์ ๊ฑฐ๋ฉ๋๋ค. ์ด ์ต์ ์ ๋ ๋ฒ ์ด์ ์ฃผ์ด์ง ์ ์์ต๋๋ค. ๋ฉ๋ชจ
์ด ์ต์ ์ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ๋ฉด ์ถ๋ ฅ ํ์ผ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ ์ ์์ต๋๋ค. NS
์์ผ๋์นด๋ ๋ฌธ์ * ๋์ ์ฃผ์ด์ง ์ ์๋ค. ์น์ ์ด๋ฆ. ๊ทธ๋ ๋ค๋ฉด ์ด๋ค ์น์
๋ก ์์ ์น์ ์ด๋ฆ ์ ๊ฑฐ๋ฉ๋๋ค.
-s
-๋ชจ๋ ์คํธ๋ฆฝ
๋ชจ๋ ๊ธฐํธ๋ฅผ ์ ๊ฑฐํ์ญ์์ค.
-g
-S
-d
--์คํธ๋ฆฝ-๋๋ฒ๊ทธ
๋๋ฒ๊น ๊ธฐํธ๋ง ์ ๊ฑฐํฉ๋๋ค.
--strip-dwo
๋ชจ๋ DWARF .dwo ์น์ ์ ๋ด์ฉ์ ์ ๊ฑฐํ๊ณ ๋๋จธ์ง ๋๋ฒ๊น ์ ๋จ๊ฒจ๋ก๋๋ค.
์น์ ๋ฐ ๋ชจ๋ ๊ธฐํธ๊ฐ ์์๋์ง ์์์ต๋๋ค. ์์ ์ด ์ต์ ์ ๋ํ ์ค๋ช ์ ์ฐธ์กฐํ์ญ์์ค. ๊ฐ์ฒด ๋ณต์ฌ
์์ธํ ๋ด์ฉ์ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
--์คํธ๋ฆฝ-๋ถํ์
์ฌ๋ฐฐ์น ์ฒ๋ฆฌ์ ํ์ํ์ง ์์ ๋ชจ๋ ๊ธฐํธ๋ฅผ ์ ๊ฑฐํ์ญ์์ค.
-K ๊ธฐํธ ์ด๋ฆ
--keep-symbol =๊ธฐํธ ์ด๋ฆ
๊ธฐํธ๋ฅผ ์ ๊ฑฐํ ๋ ๊ธฐํธ๋ฅผ ์ ์ง ๊ธฐํธ ์ด๋ฆ ๊ทธ๊ฒ์ด ์ผ๋ฐ์ ์ผ๋ก ๋ฒ๊ฒจ์ง์ง๋ผ๋.
์ด ์ต์ ์ ๋ ๋ฒ ์ด์ ์ฃผ์ด์ง ์ ์์ต๋๋ค.
-N ๊ธฐํธ ์ด๋ฆ
--์คํธ๋ฆฝ ๊ธฐํธ=๊ธฐํธ ์ด๋ฆ
๊ธฐํธ ์ ๊ฑฐ ๊ธฐํธ ์ด๋ฆ ์์ค ํ์ผ์์. ์ด ์ต์ ์ ๋ค์๋ณด๋ค ๋ ๋ง์ด ์ฃผ์ด์ง ์ ์์ต๋๋ค.
ํ ๋ฒ, ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์คํธ๋ฆฝ ์ต์ ๊ณผ ๊ฒฐํฉ๋ ์ ์์ต๋๋ค. -K.
-o ํ์ผ
์คํธ๋ฆฝ ๋ ์ถ๋ ฅ์ ๋ฃ์ผ์ญ์์ค. ํ์ผ, ๊ธฐ์กด ํ์ผ์ ๋ฐ๊พธ๋ ๋์ . ์ด ๋
์ธ์๊ฐ ์ฌ์ฉ๋จ, ํ๋๋ง ๊ฐ์ฒด ํ์ผ ์ธ์๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
-p
--๋ณด์กด ๋ ์ง
ํ์ผ์ ์ก์ธ์ค ๋ฐ ์์ ๋ ์ง๋ฅผ ์ ์งํฉ๋๋ค.
-D
--๊ฒฐ์ ์ ์์นด์ด๋ธ ํ์ฑํ
์ด์ ๊ฒฐ์ ๋ก ์ ์ธ ๋ฐฉ๋ฒ. ์์นด์ด๋ธ ๋ฉค๋ฒ ๋ณต์ฌ ๋ฐ ์์นด์ด๋ธ ์ฐ๊ธฐ ์
์ธ๋ฑ์ค, UID, GID, ํ์์คํฌํ์ XNUMX ์ฌ์ฉ, ๋ชจ๋ ํญ๋ชฉ์ ์ผ๊ด๋ ํ์ผ ๋ชจ๋ ์ฌ์ฉ
ํ์ผ.
If binutils ๋ก ๊ตฌ์ฑ๋์์ต๋๋ค --๊ฒฐ์ ์ ์์นด์ด๋ธ ํ์ฑํ, ์ด ๋ชจ๋๊ฐ ์ผ์ ธ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก. ๋ก ๋นํ์ฑํํ ์ ์์ต๋๋ค. -U ์ต์ , ์๋.
-U
--disable-๊ฒฐ์ ๋ก ์ ์์นด์ด๋ธ
Do ์ง์ ์๋ ๊ฒฐ์ ๋ก ์ ์ธ ๋ฐฉ๋ฒ. ์ด๊ฒ์ ์ญ์ -D ์ต์ , ์:
์์นด์ด๋ธ ๋ฉค๋ฒ๋ฅผ ๋ณต์ฌํ๊ณ ์์นด์ด๋ธ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ๋ ์ค์ UID, GID,
ํ์์คํฌํ ๋ฐ ํ์ผ ๋ชจ๋ ๊ฐ.
๋ค์์ด ์๋๋ฉด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค. binutils ๋ก ๊ตฌ์ฑ๋์์ต๋๋ค
--๊ฒฐ์ ์ ์์นด์ด๋ธ ํ์ฑํ.
-w
-์์ผ๋ ์นด๋
์ ๊ท ํํ์ ํ์ฉ ๊ธฐํธ ์ด๋ฆ๋ค๋ฅธ ๋ช ๋ น์ค ์ต์ ์์ ์ฌ์ฉ๋ฉ๋๋ค. NS
๋ฌผ์ํ(?), ๋ณํ(*), ๋ฐฑ์ฌ๋์(\) ๋ฐ ๋๊ดํธ([]) ์ฐ์ฐ์๋
๊ธฐํธ ์ด๋ฆ์ ์๋ฌด ๊ณณ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐํธ ์ด๋ฆ์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๊ฐ
๋๋ํ(!)๋ฅผ ๋๋ฅด๋ฉด ํด๋น ๊ธฐํธ์ ๋ํ ์ค์์น์ ์๋ฏธ๊ฐ ๋ฐ๋๋๋ค. ์์ํ
์:
-w -K !foo -K ํฌ*
์คํธ๋ฆฝ์ ๋ฌธ์ "fo"๋ก ์์ํ๋ ๊ธฐํธ๋ง ์ ์งํ์ง๋ง
"foo" ๊ธฐํธ๋ฅผ ๋ฒ๋ฆฝ๋๋ค.
-x
--๋ชจ๋ ์ญ์
๋น์ ์ญ ๊ธฐํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
-X
--discard-locals
์ปดํ์ผ๋ฌ ์์ฑ ๋ก์ปฌ ๊ธฐํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค. (๋ณดํต ๋ค์์ผ๋ก ์์ํฉ๋๋ค. L or ..)
--ํ์ผ ๊ธฐํธ ์ ์ง
ํ์ผ์ ์ ๊ฑฐํ ๋ ์๋ง๋ --์คํธ๋ฆฝ-๋๋ฒ๊ทธ or --์คํธ๋ฆฝ-๋ถํ์, ์ ์ง
์์ค ํ์ผ ์ด๋ฆ์ ์ง์ ํ๋ ๊ธฐํธ. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ ๊ฑฐ๋ฉ๋๋ค.
--๋ง-์ ์ง-๋๋ฒ๊ทธ
ํ์ผ์ ์ ๊ฑฐํ์ฌ ์ ๊ฑฐ๋์ง ์์ ์น์ ์ ๋ด์ฉ์ ๋น์๋๋ค.
--์คํธ๋ฆฝ-๋๋ฒ๊ทธ ๋๋ฒ๊น ์น์ ์ ๊ทธ๋๋ก ๋์ญ์์ค. ELF ํ์ผ์์ ์ด๊ฒ์
์ถ๋ ฅ์ ๋ชจ๋ ๋ ธํธ ์น์ ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์ฐธ๊ณ - ์ ๊ฑฐ๋ ์น์ ์ ์น์ ํค๋๋ ๋ค์์ ํฌํจํ์ฌ ์ ์ง๋ฉ๋๋ค.
ํฌ๊ธฐ์ด์ง๋ง ์น์ ์ ๋ด์ฉ์ ์ญ์ ๋ฉ๋๋ค. ์น์ ํค๋๋
๋ค๋ฅธ ๋๊ตฌ๊ฐ debuginfo ํ์ผ์ ์ค์ ํ์ผ๊ณผ ์ผ์น์ํฌ ์ ์๋๋ก ๋ณด์กด
์คํ ํ์ผ์ด ๋ค๋ฅธ ์ฃผ์ ๊ณต๊ฐ์ผ๋ก ์ฌ๋ฐฐ์น๋ ๊ฒฝ์ฐ์๋ ์คํ ๊ฐ๋ฅํฉ๋๋ค.
์๋๋ ์ด ์ต์ ์ด ๋ค์๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ๋๋ค. --add-gnu-debuglink
๋ ๋ถ๋ถ์ผ๋ก ๋ ์คํ ํ์ผ์ ๋ง๋ญ๋๋ค. ๋ ์ ์ ๊ณต๊ฐ์ ์ฐจ์งํ ํ๋์ ์ ๊ฑฐ๋ ๋ฐ์ด๋๋ฆฌ
RAM๊ณผ ๋ฐฐํฌํ, ๋ ๋ฒ์งธ๋ ๋๋ฒ๊น ์ ๋ณด ํ์ผ์๋ง ์์ต๋๋ค.
๋๋ฒ๊น ๊ธฐ๋ฅ์ด ํ์ํ ๊ฒฝ์ฐ ํ์ํฉ๋๋ค. ์ด๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ ์๋ ์ ์ฐจ
ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1.
"ํ" ๊ทธ๋ผ...
1.
๋๋ฒ๊น ์ ๋ณด๊ฐ ํฌํจ๋ ํ์ผ์ ๋ง๋ญ๋๋ค.
1.
์ ๊ฑฐ๋ ์คํ ํ์ผ.
1.
์ ๊ฑฐ๋ ์คํ ํ์ผ์ ๋๋ฒ๊น ์ ๋ณด์ ๋ํ ๋งํฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์ฐธ๊ณ --- ๋๋ฒ๊ทธ ์ ๋ณด ํ์ผ์ ํ์ฅ์๋ก ".dbg"๋ฅผ ์ ํํ๋ ๊ฒ์ ์์์ ์ ๋๋ค.
๋ํ "--only-keep-debug" ๋จ๊ณ๋ ์ ํ ์ฌํญ์ ๋๋ค. ๋์ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค.
1.
1.
1.
1.
์ฆ, ๋ค์์ด ๊ฐ๋ฆฌํค๋ ํ์ผ --add-gnu-debuglink ์ ์ฒด ์คํ ํ์ผ์ด ๋ ์ ์์ต๋๋ค. ๊ทธ๊ฒ
์ ์ํด ์์ฑ๋ ํ์ผ์ผ ํ์๋ ์์ต๋๋ค. --๋ง-์ ์ง-๋๋ฒ๊ทธ ์ค์์น.
์ฐธ๊ณ ---์ด ์ค์์น๋ ์์ ํ ์ฐ๊ฒฐ๋ ํ์ผ์๋ง ์ฌ์ฉํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๋ง๋ค์ง ์๋๋ค
๋๋ฒ๊น ์ ๋ณด๊ฐ ๋ถ์์ ํ ์ ์๋ ๊ฐ์ฒด ํ์ผ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
gnu_debuglink ๊ธฐ๋ฅ ์ธ์๋ ํ์ฌ ํ๋์ ํ์ผ ์ด๋ฆ๋ง ์ง์ํฉ๋๋ค.
๊ฐ์ฒด๋น ํ๋์ ํ์ผ์ ์ฌ๋ฌ ํ์ผ ์ด๋ฆ์ด ์๋ ๋๋ฒ๊น ์ ๋ณด ํฌํจ
๊ธฐ์ด.
-V
--๋ฒ์ญ
์ ๋ํ ๋ฒ์ ๋ฒํธ ํ์ ์กฐ๊ฐ.
-v
--๋ง ์๊ฐ ๋ง์
์์ธํ ์ถ๋ ฅ: ์์ ๋ ๋ชจ๋ ๊ฐ์ฒด ํ์ผ์ ๋์ดํฉ๋๋ค. ์์นด์ด๋ธ์ ๊ฒฝ์ฐ, ์กฐ๊ฐ -v
์์นด์ด๋ธ์ ๋ชจ๋ ๊ตฌ์ฑ์์ ๋์ดํฉ๋๋ค.
@ํ์ผ
๋ค์์์ ๋ช ๋ น์ค ์ต์ ์ฝ๊ธฐ ํ์ผ. ์ฝ์ ์ต์ ์ ๋ค์ ์์น์ ์ฝ์ ๋ฉ๋๋ค.
์๋์ @ํ์ผ ์ต์ . ๋ง์ฝ์ ํ์ผ ์กด์ฌํ์ง ์๊ฑฐ๋ ์ฝ์ ์ ์๋ ๊ฒฝ์ฐ ์ต์
๋ฌธ์ ๊ทธ๋๋ก ์ฒ๋ฆฌ๋๋ฉฐ ์ ๊ฑฐ๋์ง ์์ต๋๋ค.
์ต์ ํ์ผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๊ณต๋ฐฑ ๋ฌธ์๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
์ต์ ์์ ์ ์ฒด ์ต์ ์ ์์๋ฐ์ดํ๋ ํฐ๋ฐ์ดํ๋ก ๋ฌถ์ต๋๋ค. ์ด๋
๋ฌธ์(๋ฐฑ์ฌ๋์ ํฌํจ)๋
๋ฐฑ์ฌ๋์์ ํจ๊ป ํฌํจ๋ฉ๋๋ค. NS ํ์ผ ์์ฒด์ ์ถ๊ฐ @๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.ํ์ผ ์ต์ ; ์ด๋
์ด๋ฌํ ์ต์ ์ ์ฌ๊ท์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์์ aarch64-linux-gnu-strip ์ฌ์ฉ