๋ฆฌ๋ˆ…์Šค์—์„œ GCC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ ํ•  ๋•Œ ๋””๋ฒ„๊น… ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฐ˜์‘ํ˜•

ํ”ํžˆ ์šฐ๋ฆฌ๋Š” C์–ธ์–ด๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ ๊ฑฐ์˜ ์“ฐ๋Š” IDE ํˆด์ด Visual Studio์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Visual Studio๋Š” ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์ด Microsoft Windows ๊ณ„์—ด ๋ฟ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ OS์—์„œ๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ ๋‹ค๋ฅธ IDE ํˆด์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์ด Eclipse๋ฅผ ์‚ฌ์šฉํ•œ ๋””๋ฒ„๊น…์ž…๋‹ˆ๋‹ค๋งŒ Eclipse ์„ค์น˜์—†์ด๋„ ๋””๋ฒ„๊น…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•„์•„๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.


Unix ๊ณ„์—ด์—์„œ ์ปดํŒŒ์ผ์„ ํ•  ๊ฒฝ์šฐ, ๋””๋ฒ„๊น…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


1. GDB๋ฅผ ์‚ฌ์šฉํ•œ ๋””๋ฒ„๊น…

GNU์—์„œ ๊ฐœ๋ฐœํ•œ CUI ํ˜•์‹์˜ ๋””๋ฒ„๊น… ๋ชจ๋“œ๋กœ ์ฝ˜์†”ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋‹ค ์ •ํ™•ํ•œ ๋””๋ฒ„๊น…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.



GDB๋Š” Eclipse Linux version์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ CUI ๋ชจ๋“œ์— ์ต์ˆ™ํ•œ ์‚ฌ๋žŒ์ด ์ž์ฃผ ์ด ์ฝ˜์†” GDB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.



2. ddd๋ฅผ ์‚ฌ์šฉํ•œ ๋””๋ฒ„๊น…

Data Display Debugger์˜ ์•ฝ์ž๋กœ GDB๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ GUI ํ˜•ํƒœ์˜ ๋””๋ฒ„๊น… ํˆด์ž…๋‹ˆ๋‹ค



ddd ํˆด์€ ์˜ค๋ž˜๋œ ํˆด์ž…๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ ์žฅ์ธ์„ ์ž๋ž‘ํ•˜์ง€๋งŒ ํ•œ๊ธ€ ์ฝ”๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์ง€์›๋˜์ง€ ์•Š๋Š” ๋‹จ์ ์ด ์žˆ์–ด ๋ฌธ๊ตฌ๋ฌธ์ด๋‚˜ ์‚ฌ์šฉ์ž ํ”„๋ฆฐํŠธ๋ฌธ์— ํ•œ๊ธ€์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ถ”์ฒœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ค์œผ๋กœ ์–ด์…ˆ๋ธ”๋ฆฌ์ฝ”๋“œ๊นŒ์ง€ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๋™ํ•ด์„œ ์œ ๋‹‰์Šค ๊ณ„์—ด์˜ ASM ๊ณต๋ถ€๋ฅผ ํ•˜์‹ค ๋•Œ๋Š” ์œ ์šฉํ•  ๋“ฏ ์‹ถ์Šต๋‹ˆ๋‹ค.



๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments