GDB 12.1 ๋๋ฒ๊ฑฐ ๋ฆด๋ฆฌ์ค๊ฐ ๋ฐํ๋์์ต๋๋ค(12.x ์๋ฆฌ์ฆ์ ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค, 12.0 ๋ธ๋์น๊ฐ ๊ฐ๋ฐ์ ์ฌ์ฉ๋์์ต๋๋ค). GDB๋ ๋ค์ํ ํ๋์จ์ด(i386, amd64, ARM, Power, Sparc, RISC)์์ ๊ด๋ฒ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Ada, C, C++, Objective-C, Pascal, Go, Rust ๋ฑ)์ ๋ํ ์์ค ๋ ๋ฒจ ๋๋ฒ๊น ์ ์ง์ํฉ๋๋ค. - V ๋ฑ) ๋ฐ ์ํํธ์จ์ด ํ๋ซํผ(GNU/Linux, *BSD, Unix, Windows, macOS).
์ฃผ์ ๊ฐ์ ์ฌํญ:
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ฒ๊น ๊ธฐํธ๋ฅผ ๋ก๋ํ๊ธฐ ์ํ ๋ค์ค ์ค๋ ๋ ๋ชจ๋๊ฐ ํ์ฑํ๋์ด ์์ ์๋๊ฐ ๋นจ๋ผ์ง๋๋ค.
- C++ ํ ํ๋ฆฟ์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค.
- ๋น๋๊ธฐ ๋ชจ๋(async)์์ FreeBSD ํ๋ซํผ ์์ ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- GNU ์์ค ํ์ด๋ผ์ดํธ ์ฌ์ฉ์ ๋นํ์ฑํํ๊ณ ๊ตฌ๋ฌธ ๊ฐ์กฐ๋ฅผ ์ํด Pygments ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- "clone-inferior" ๋ช ๋ น์ TTY, CMD ๋ฐ ARGS ์ค์ ์ด ์๋ ๋๋ฒ๊ทธ ๊ฐ์ฒด(์ด๋ฑํจ)์์ ์ ๋๋ฒ๊ทธ ๊ฐ์ฒด๋ก ๋ณต์ฌ๋์๋์ง ํ์ธํฉ๋๋ค. ๋ํ 'ํ๊ฒฝ ์ค์ ' ๋๋ 'ํ๊ฒฝ ์ค์ ํด์ ' ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ํ๋ ํ๊ฒฝ ๋ณ์์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๋๋ฒ๊ทธ ๊ฐ์ฒด์ ๋ณต์ฌ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
- "print" ๋ช ๋ น์ XNUMX์ง์("/x")์ ๊ฐ์ ๊ธฐ๋ณธ ๊ฐ์ ํ์์ ์ง์ ํ์ฌ ๋ถ๋ ์์์ ์ซ์ ์ธ์๋ฅผ ์ง์ํฉ๋๋ค.
- GNU/Linux/OpenRISC ์ํคํ ์ฒ(๋๋1k*-*-linux*)์์ ๋๋ฒ๊ฑฐ ๋ฐ GDB์๋ฒ ์คํ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. GNU/Linux/LoongArch ๋์ ํ๋ซํผ(loongarch*-*-linux*)์ฉ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ฒ๊น ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. S+core ๋์ ํ๋ซํผ(score-*-*)์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค.
- GDB 12๋ Python 2๋ฅผ ์ฌ์ฉํ ๋น๋๋ฅผ ์ง์ํ๋ ๋ง์ง๋ง ๋ฆด๋ฆฌ์ค๋ก ๋ฐํ๋์์ต๋๋ค.
- ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ GDB 13 DBX ํธํ์ฑ ๋ชจ๋์์ ์ ๊ฑฐ๋ฉ๋๋ค.
- GDB/MI ๊ด๋ฆฌ API๋ฅผ ์ฌ์ฉํ๋ฉด '-add-inferior' ๋ช ๋ น์ ๋งค๊ฐ๋ณ์ ์์ด ์ฌ์ฉํ๊ฑฐ๋ '--no-connection' ํ๋๊ทธ์ ํจ๊ป ์ฌ์ฉํ์ฌ ํ์ฌ ๋๋ฒ๊ทธ ๊ฐ์ฒด์์ ์ฐ๊ฒฐ์ ์์ํ๊ฑฐ๋ ์ฐ๊ฒฐ ์์ด ์คํํ ์ ์์ต๋๋ค.
- Python API๊ฐ ๊ฐ์ ๋์์ต๋๋ค. Python์์ GDB/MI ๋ช ๋ น์ ๊ตฌํํ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค. ์๋ก์ด ์ด๋ฒคํธ gdb.events.gdb_exiting ๋ฐ gdb.events.connection_removed, gdb.Architecture.integer_type() ํจ์, gdb.TargetConnection ๊ฐ์ฒด, gdb.Inferior.connection ์์ฑ, gdb.RemoteTargetConnection.send_packet ๋ฉ์๋ ๋ฐ gdb.InferiorThread.details ์์ฑ์ ์ถ๊ฐํ์ต๋๋ค. gdb.Type.is_scalar ๋ฐ gdb.Type.is_signed.
์ถ์ฒ : opennet.ru