์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ i686-w64-mingw32-gdb ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
gdb - GNU ๋๋ฒ๊ฑฐ
๊ฐ์
gdb [-๋์] [-nh] [-nx] [-q] [-์ผ๊ด] [-CD=DIR] [-f] [-b BPS]
[-ํฐ=DEV] [-s ์ฌ๋ณผ๋ฆญ] [-e ์์๋ฌผ] [~ ์์๋ฌผ] [-c core] [-p ํ๋ก์์ ]
[-x cmd] [-d DIR] [์์๋ฌผ|์์๋ฌผ ํ๋ก์์ |์์๋ฌผ core]
๊ธฐ์
GDB์ ๊ฐ์ ๋๋ฒ๊ฑฐ์ ๋ชฉ์ ์ "๋ด๋ถ"์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ๋ณผ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ -- ๋๋ ๊ทธ ์๊ฐ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ํ๊ณ ์๋ ์ผ
์ถ๋ฝํ์ต๋๋ค.
GDB๋ ๋น์ ์ ๋๊ธฐ ์ํด ๋ค ๊ฐ์ง ์ฃผ์ ์ข ๋ฅ์ ์ผ์ ํ ์ ์์ต๋๋ค.
ํ๋์์ ๋ฒ๊ทธ๋ฅผ ์ก์๋ผ:
ยท ํ๋ก๊ทธ๋จ์ ๋์์ ์ํฅ์ ์ค ์ ์๋ ๋ชจ๋ ๊ฒ์ ์ง์ ํ์ฌ ํ๋ก๊ทธ๋จ์ ์์ํฉ๋๋ค.
ยท ์ง์ ๋ ์กฐ๊ฑด์์ ํ๋ก๊ทธ๋จ์ ์ค์งํฉ๋๋ค.
ยท ํ๋ก๊ทธ๋จ์ด ์ค์ง๋์์ ๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง ์กฐ์ฌํ์ญ์์ค.
ยท ํ๋ก๊ทธ๋จ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ์ฌ ๋ค์์ ํจ๊ณผ๋ฅผ ์์ ํ๋ ์คํ์ ํ ์ ์์ต๋๋ค.
ํ๋์ ๋ฒ๊ทธ์ ๋ํด ์์๋ณด๊ณ ๊ณ์ํด์ ๋ค๋ฅธ ๋ฒ๊ทธ์ ๋ํด ์์๋ณด์ธ์.
GDB๋ฅผ ์ฌ์ฉํ์ฌ C, C@t{++}, Fortran ๋ฐ Modula-2๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ๋๋ฒ๊ทธํ ์ ์์ต๋๋ค.
GDB๋ ์ ๋ช ๋ น "gdb"๋ก ํธ์ถ๋ฉ๋๋ค. ์ผ๋จ ์์๋๋ฉด ๋ช ๋ น์ ์ฝ์ต๋๋ค.
GDB ๋ช ๋ น "quit"์ผ๋ก ์ข ๋ฃํ๋๋ก ์ง์ํ ๋๊น์ง ํฐ๋ฏธ๋. ์จ๋ผ์ธ ๋์์ ๋ฐ์ ์ ์์ต๋๋ค
"help" ๋ช ๋ น์ ์ฌ์ฉํ์ฌ GDB ์์ฒด์์.
์ธ์๋ ์ต์ ์์ด "gdb"๋ฅผ ์คํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ GDB๋ฅผ ์์ํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์
ํ๋ ๋๋ ๋ ๊ฐ์ ์ธ์๋ก ์คํ ํ๋ก๊ทธ๋จ์ ์ธ์๋ก ์ง์ :
gdb ํ๋ก๊ทธ๋จ
์คํ ํ๋ก๊ทธ๋จ๊ณผ ์ฝ์ด ํ์ผ์ ์ง์ ํ์ฌ ์์ํ ์๋ ์์ต๋๋ค.
gdb ํ๋ก๊ทธ๋จ ์ฝ์ด
๋์ ๋๋ฒ๊ทธํ๋ ค๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค ID๋ฅผ ๋ ๋ฒ์งธ ์ธ์๋ก ์ง์ ํ ์ ์์ต๋๋ค.
์คํ ์ค์ธ ํ๋ก์ธ์ค:
gdb ํ๋ก๊ทธ๋จ 1234
gdb -p 1234
ํ๋ก์ธ์ค 1234์ GDB๋ฅผ ์ฒจ๋ถํ ๊ฒ์ ๋๋ค. 1234; GDB๋ ํ์ธํ๋ค
์ฝ์ด ํ์ผ์ ๊ฒฝ์ฐ ๋จผ์ ). ์ต์ ์ผ๋ก -p ๋น์ ์ ์๋ต ํ ์ ์์ต๋๋ค ํ๋ก๊ทธ๋จ ํ์ผ ์ด๋ฆ.
๋ค์์ ๊ฐ์ฅ ์์ฃผ ํ์ํ GDB ๋ช ๋ น ์ค ์ผ๋ถ์ ๋๋ค:
ํ๋ค [ํ์ผ:]๊ธฐ๋ฅ
์ค๋จ์ ์ค์ ๊ธฐ๋ฅ (์ ํ์ผ).
์ด์ [์ธ์ ๋ชฉ๋ก]
ํ๋ก๊ทธ๋จ ์์( ์ธ์ ๋ชฉ๋ก, ์ง์ ๋ ๊ฒฝ์ฐ).
bt ์ญ์ถ์ : ํ๋ก๊ทธ๋จ ์คํ์ ํ์ํฉ๋๋ค.
์ธ์ ํน๊ธ
ํํ์์ ๊ฐ์ ํ์ํฉ๋๋ค.
c ํ๋ก๊ทธ๋จ์ ๊ณ์ ์คํํ์ญ์์ค(์: ์ค๋จ์ ์์ ์ค์งํ ํ).
๋ค์ ๊ฒ
๋ค์ ํ๋ก๊ทธ๋จ ๋ผ์ธ์ ์คํํฉ๋๋ค(์ค์ง ํ). ๋จ๊ณ ์์ ๋ผ์ธ์ ๋ชจ๋ ํจ์ ํธ์ถ
ํธ์ง [ํ์ผ:]๊ธฐ๋ฅ
ํ์ฌ ์ค์ง๋ ํ๋ก๊ทธ๋จ ํ์ ๋ณด์ญ์์ค.
๋ช ๋ถ [ํ์ผ:]๊ธฐ๋ฅ
ํ์ฌ ์ค์ง๋ ์์น ๋ถ๊ทผ์ ํ๋ก๊ทธ๋จ์ ํ ์คํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
๋จ๊ณ
๋ค์ ํ๋ก๊ทธ๋จ ๋ผ์ธ์ ์คํํฉ๋๋ค(์ค์ง ํ). ๋จ๊ณ ์ผ๋ก ๋ผ์ธ์ ๋ชจ๋ ํจ์ ํธ์ถ
๋์ [name]
GDB ๋ช ๋ น์ ๋ํ ์ ๋ณด ํ์ name, ๋๋ GDB ์ฌ์ฉ์ ๋ํ ์ผ๋ฐ ์ ๋ณด.
์ข ๋ฃ
GDB๋ฅผ ์ข ๋ฃํฉ๋๋ค.
GDB์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ญ์์ค. ์ฌ์ฉ GDB: A ์๋ด์ ์ ์ ์, GNU ์์ค ์์ค ๋๋ฒ๊ฑฐ์ ์ํด
Richard M. Stallman ๋ฐ Roland H. Pesch. "gdb"์ ๋์ผํ ํ ์คํธ๋ฅผ ์จ๋ผ์ธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
"์ ๋ณด" ํ๋ก๊ทธ๋จ์ ํญ๋ชฉ์ ์ ๋ ฅํฉ๋๋ค.
์ต์
์ต์ ์ด์ธ์ ๋ชจ๋ ์ธ์๋ ์คํ ํ์ผ ๋ฐ ์ฝ์ด ํ์ผ(๋๋ ํ๋ก์ธ์ค ID)์ ์ง์ ํฉ๋๋ค.
์ฆ, ์ฐ๊ฒฐ๋ ์ต์ ํ๋๊ทธ๊ฐ ์๋ ์ฒซ ๋ฒ์งธ ์ธ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
~ ์ต์ ์ด๊ณ ๋ ๋ฒ์งธ ์ต์ ์ด ์๋ ๊ฒฝ์ฐ ๋ ๋ฒ์งธ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. -c ์ต์ ์ ์ด๋ฆ์ธ ๊ฒฝ์ฐ
ํ์ผ. ๋ง์ ์ต์ ์๋ ๊ธด ํ์๊ณผ ์งง์ ํ์์ด ์์ต๋๋ค. ๋ ๋ค ์ฌ๊ธฐ์ ํ์๋ฉ๋๋ค. ๊ธด ํํ
์ต์ ์ด ์ถฉ๋ถํ ์กด์ฌํ๋ ํ ์๋ฅด๋ฉด ์ธ์๋ฉ๋๋ค.
๋ถ๋ช ํ๋ค. (์ํ๋ ๊ฒฝ์ฐ ์ต์ ์ธ์์ ํ๋๊ทธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. + ๋ณด๋ค๋ -ํ์ง๋ง
์ฐ๋ฆฌ๋ ๋ ์ผ๋ฐ์ ์ธ ๊ท์น์ ์ค๋ช ํฉ๋๋ค.)
์ ๊ณตํ๋ ๋ชจ๋ ์ต์ ๊ณผ ๋ช ๋ น์ค ์ธ์๋ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
์์๊ฐ ๋ค๋ฅผ ๋ -x ์ต์ ์ด ์ฌ์ฉ๋ฉ๋๋ค.
-๋์
-h ๊ฐ๋จํ ์ค๋ช ๊ณผ ํจ๊ป ๋ชจ๋ ์ต์ ์ ๋์ดํ์ญ์์ค.
-๊ธฐํธ=ํ์ผ
-s ํ์ผ
ํ์ผ์์ ๊ธฐํธ ํ ์ด๋ธ ์ฝ๊ธฐ ํ์ผ.
-์ฐ๋ค
์คํ ํ์ผ๊ณผ ์ฝ์ด ํ์ผ์ ์ฐ๊ธฐ๋ฅผ ํ์ฑํํฉ๋๋ค.
-์คํ=ํ์ผ
-e ํ์ผ
ํ์ผ ์ฌ์ฉ ํ์ผ ์ ์ ํ ๋ ์คํํ๊ณ ๊ฒ์ฌ๋ฅผ ์ํด ์คํ ํ์ผ๋ก
์ฝ์ด ๋คํ์ ํจ๊ป ์์ ๋ฐ์ดํฐ.
-์ธ=ํ์ผ
ํ์ผ์์ ๊ธฐํธ ํ ์ด๋ธ ์ฝ๊ธฐ ํ์ผ ์คํ ํ์ผ๋ก ์ฌ์ฉํ์ญ์์ค.
-์ฝ์ด=ํ์ผ
-c ํ์ผ
ํ์ผ ์ฌ์ฉ ํ์ผ ์กฐ์ฌํ ์ฝ์ด ๋คํ๋ก.
-๋ช ๋ น=ํ์ผ
-x ํ์ผ
ํ์ผ์์ GDB ๋ช ๋ น ์คํ ํ์ผ.
-์ ๋ช ๋ น
์ฃผ์ด์ง GDB ์คํ ๋ช ๋ น.
-๋๋ ํ ๋ฆฌ=์๋ฐฐ ๊ท์น์
-d ์๋ฐฐ ๊ท์น์
์ถ๊ฐ ์๋ฐฐ ๊ท์น์ ์์ค ํ์ผ์ ๊ฒ์ํ ๊ฒฝ๋ก๋ก ์ด๋ํฉ๋๋ค.
-nh ์์ ๋ช ๋ น์ ์คํํ์ง ๋ง์ญ์์ค. ~/.gdbinit.
-nx
-n ์ด๋ค ๋ช ๋ น๋ ์คํํ์ง ๋ง์ญ์์ค. .gdbinit ์ด๊ธฐํ ํ์ผ.
-์กฐ์ฉํ
-q "์กฐ์ฉํ". ์๊ฐ ๋ฐ ์ ์๊ถ ๋ฉ์์ง๋ฅผ ์ธ์ํ์ง ๋ง์ญ์์ค. ์ด๋ฌํ ๋ฉ์์ง๋
๋ฐฐ์น ๋ชจ๋์์๋ ์ต์ ๋ฉ๋๋ค.
-์ผ๊ด
๋ฐฐ์น ๋ชจ๋์์ ์คํํฉ๋๋ค. ๋ชจ๋ ๋ช ๋ น ํ์ผ์ ์ฒ๋ฆฌํ ํ ์ํ 0์ผ๋ก ์ข ๋ฃ
๋ก ์ง์ -x (๊ทธ๋ฆฌ๊ณ .gdbinit, ์ต์ ๋์ง ์์ ๊ฒฝ์ฐ). ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ XNUMX์ด ์๋ ์ํ๋ก ์ข ๋ฃํฉ๋๋ค.
๋ช ๋ น ํ์ผ์์ GDB ๋ช ๋ น์ ์คํํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฐฐ์น ๋ชจ๋๋ ์๋ฅผ ๋ค์ด ๋ค์ด๋ก๋ ๋ฐ ์คํ๊ณผ ๊ฐ์ด GDB๋ฅผ ํํฐ๋ก ์คํํ๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ปดํจํฐ์ ํ๋ก๊ทธ๋จ ์ด ๋ฉ์์ง๋ฅผ ๋ ์ ์ฉํ๊ฒ ๋ง๋ค๊ธฐ ์ํด
ํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์ข ๋ฃ๋์์ต๋๋ค.
(์ผ๋ฐ์ ์ผ๋ก GDB ์ ์ด ํ์ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ ๋๋ง๋ค ๋ฐํ๋จ)
๋ฐฐ์น ๋ชจ๋์์ ์คํํ ๋๋ ๋ฐํ๋์ง ์์ต๋๋ค.
-CD=์๋ฐฐ ๊ท์น์
๋ค์์ ์ฌ์ฉํ์ฌ GDB ์คํ ์๋ฐฐ ๊ท์น์ ํ์ฌ ๋๋ ํ ๋ฆฌ ๋์ ์์ ๋๋ ํ ๋ฆฌ๋ก ์ฌ์ฉํฉ๋๋ค.
-์ฑ
-f Emacs๋ GDB๋ฅผ ํ์ ํ๋ก์ธ์ค๋ก ์คํํ ๋ ์ด ์ต์ ์ ์ค์ ํฉ๋๋ค. ๊ทธ๊ฒ์ GDB์๊ฒ ์ถ๋ ฅ์ ์ง์ํ๋ค
์คํ์ด ์์ผ ๋๋ง๋ค ์ธ์ํ ์ ์๋ ํ์ค ํ์์ ์ ์ฒด ํ์ผ ์ด๋ฆ๊ณผ ์ค ๋ฒํธ
ํ๋ ์์ด ํ์๋ฉ๋๋ค(ํ๋ก๊ทธ๋จ์ด ์ค์ง๋ ๋๋ง๋ค ํฌํจ). ์ด ์ธ์ํ ์ ์๋
ํ์์ XNUMX์ฒ๋ผ ๋ณด์ ๋๋ค. \ 032 ๋ฌธ์, ํ์ผ ์ด๋ฆ, ์ค ๋ฒํธ ๋ฐ
์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถ๋ ๋ฌธ์ ์์น ๋ฐ ๊ฐํ. Emacs-GDB ์ธํฐํ์ด์ค
ํ๋ก๊ทธ๋จ์ ๋ ๊ฐ์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค \ 032 ๋ฌธ์๋ฅผ ์ ํธ๋ก ์ฌ์ฉํ์ฌ ์์ค ์ฝ๋๋ฅผ ํ์ํฉ๋๋ค.
ํ.
-b BPS
GDB์์ ์ฌ์ฉํ๋ ์ง๋ ฌ ์ธํฐํ์ด์ค์ ํ์ ์๋(์ ์ก ์๋ ๋๋ ์ด๋น ๋นํธ ์)๋ฅผ ์ค์ ํฉ๋๋ค.
์๊ฒฉ ๋๋ฒ๊น ์ ์ํด.
-ํฐ=์ฅ์น
๋ค์์ ์ฌ์ฉํ์ฌ ์คํ ์ฅ์น ํ๋ก๊ทธ๋จ์ ํ์ค ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ์ฉ.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก i686-w64-mingw32-gdb ์ฌ์ฉ