GDB 14 ๋””๋ฒ„๊ฑฐ ๋ฆด๋ฆฌ์Šค

GDB 14.1์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(14.x ์‹œ๋ฆฌ์ฆˆ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค์ด๋ฉฐ, ๊ฐœ๋ฐœ์—๋Š” 14.0 ๋ธŒ๋žœ์น˜๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). GDB๋Š” ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด(i386, amd64, ARM, Power, Sparc, RISC-V ๋“ฑ) ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋žซํผ(GNU/)์—์„œ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust ๋“ฑ)์— ๋Œ€ํ•œ ์†Œ์Šค ์ฝ”๋“œ ์ˆ˜์ค€ ๋””๋ฒ„๊น…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.Linux, *BSD, ์œ ๋‹‰์Šค, Windows, macOS).

์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ:

  • ์ฝ”๋“œ ๊ธฐ๋ฐ˜์ด C++17 ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ GDB๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด C++17(์ตœ์†Œ GCC 9)์„ ์ง€์›ํ•˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฃผ์š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ƒ‰์ธ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ผ๋ถ€ ๋Œ€๊ทœ๋ชจ ์‹คํ–‰ ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ๋” ๋น ๋ฅธ ์‹œ์ž‘์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • AIX 4.x, 5.x, 6.x์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(AIX์˜ ์ตœ์†Œ ์ง€์› ๋ฒ„์ „์€ 7.1์ž…๋‹ˆ๋‹ค).
  • DAP(๋””๋ฒ„๊ฑฐ ์–ด๋Œ‘ํ„ฐ ํ”„๋กœํ† ์ฝœ)์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ๋‚ด์žฅ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • NO_COLOR ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 64๋น„ํŠธ๋ณด๋‹ค ํฐ ์ •์ˆ˜ ์œ ํ˜•์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋””๋ฒ„๊น…ํ•  ๋•Œ ๊ฐœ๋ณ„ ๋””๋ฒ„๊ทธ ๊ฐœ์ฒด์— ์ฒจ๋ถ€๋œ ์ค‘๋‹จ์ ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์…ธ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” "$_shell" ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Python API๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • gdb.Thread, gdb.unwinder.FrameId ๋ฐ gdb.ValuePrinter ํด๋ž˜์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename ์†์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • gdb.execute_mi(COMMAND, [ARG]โ€ฆ), gdb.block_signals() ํ•จ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env', 'unset_env', gdb.Type 'is_array_like', 'is_string_like', gdb.Value 'assign', gdb.Value 'to_array', gdb.Progspace 'objfile_for_address', gdb.LazyString __str__ ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent ์ด๋ฒคํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›๊ฒฉ ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ๊ฐœ๋ณ„ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ๋ฐ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • AArch64 ์•„ํ‚คํ…์ฒ˜ ์ง€์›์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SME(Scalable Matrix Extension) ๋ฐ SME2 ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Ada ์–ธ์–ด์™€ Ada 2022 ์‚ฌ์–‘์— ๋Œ€ํ•œ ์ง€์›์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 'list' ๋ช…๋ น์€ ์ด์ œ ํ˜„์žฌ ์Šคํƒ ํ”„๋ ˆ์ž„์—์„œ ์‹คํ–‰ ์ง€์ ์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹์ถœ๋ ฅํ•˜๋Š” '.' ์ธ์ˆ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • '%V' ํ˜•์‹ ์ง€์ •์ž๊ฐ€ printf ๋ฐ dprintf ๋ช…๋ น์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • printf ๋ช…๋ น์—์„œ ๋””๋ฒ„๊ทธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์ถ”์ถœ๋˜๋Š” ๋ฌธ์ž์—ด์˜ ํฌ๊ธฐ๋Š” 'max-value-size' ์„ค์ • ๊ฐ’์— ์˜ํ•ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.
  • 'debug-file-directory' ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋นŒ๋“œ ์˜ต์…˜ "--additional-debug-dirs=PATH"๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์˜ ์ง„์ž…์ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฉ”์ธ ์‹ฌ๋ณผ์„ ์ถ”์ถœํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ช…๋ น "info main"์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค:
    • "๋””๋ฒ„๊ทธ ์ค‘๋‹จ์  ์„ค์ • ์ผœ๊ธฐ|๋„๊ธฐ"
    • "tui ๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ ์„ค์ • [์ผœ๊ธฐ|๋„๊ธฐ]"
    • "ํ•ญ์ƒ ์ฝ๊ธฐ CTF ์ผœ๊ธฐ|๋„๊ธฐ"
    • "์œ ์ง€ ๊ด€๋ฆฌ ์ธ์‡„ ๊ธฐ๋ก-์ง€์นจ [N]"
    • "ํ”„๋ ˆ์ž„ ์–ธ์™€์ธ๋” ์œ ์ง€ ๊ด€๋ฆฌ ์ •๋ณด"
    • "์ธ๋ฑ์Šค ์บ์‹œ ์œ ์ง€ ๊ด€๋ฆฌ ๋Œ€๊ธฐ"

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster