songining

์–ด์…ˆ๋ธ”๋ฆฌ์–ด

๊ธฐ๊ณ„์–ด์™€ ์ผ๋Œ€์ผ ๋Œ€์‘๋˜๋Š” ์–ธ์–ด. 

์‹คํ–‰ํŒŒ์ผ๋งŒ ์žˆ์–ด๋„ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

์ด์ง„์ˆ˜๋กœ ๋œ ๊ธฐ๊ณ„์–ด๋ฅผ "๋””์ปดํŒŒ์ผ๋Ÿฌ" ๋ฅผ ์ด์šฉํ•˜์—ฌ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋œ ์ฝ”๋“œ๋ฅผ ์–ป์–ด๋‚ด๊ณ , ์ด๋ฅผ ๋ถ„์„ํ•œ๋‹ค.

 

๋””๋ฒ„๊ฑฐ

GDB(GNU Debugger)

C, C++ ๋“ฑ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹คํ–‰ ํŒŒ์ผ์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋„๊ตฌ 

 

1. ์‹œ์ž‘/์ข…๋ฃŒ 

์‹œ์ž‘: gdb [ํ”„๋กœ๊ทธ๋žจ๋ช…]

์ข…๋ฃŒ: quit or q

2. ๋ฌธ๋ฒ• ๋ณ€๊ฒฝ

set disassembly-flavor intel

3. ๋ถ„์„

ํ•ด๋‹น ํ•จ์ˆ˜ ์ฝ”๋“œ: disas [ํ•จ์ˆ˜์ด๋ฆ„] 

์‹คํ–‰ : run or r

๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ : b [์ง€์ ]

๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ ๊ฑธ๋ฆฐ ์œ„์น˜ ์ฝ”๋“œ : disas

๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ ๋‹ค ์ง€์šฐ๊ธฐ: d or dis

๋‹ค์Œ ๋ช…๋ น์–ด : ni

์ง„ํ–‰ : c 

๊ฐ•์ œ ์ ํ”„ : jump [์œ„์น˜] -> ํ•จ์ˆ˜, ํ–‰, ๋ฉ”๋ชจ๋ฆฌ

info func : ์“ฐ์ธ ํ•จ์ˆ˜ ๋ณด๊ธฐ(ํ•จ์ˆ˜๋“ค์˜ ์ฃผ์†Œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ)

info r : ๋ ˆ์ง€์Šคํ„ฐ ๋ณด๊ธฐ 

 

๋ ˆ์ง€์Šคํ„ฐ

ํ”„๋กœ์„ธ์„œ๊ฐ€ ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ €์žฅ์†Œ 

 

์ฐธ๊ณ :  ARGOS ์‹œ์Šคํ…œํ•ดํ‚น ๊ต์œก์ž๋ฃŒ