๋ฐ˜์‘ํ˜•

์†Œ๊ฐœ

Unmanaged Code์ธ C++์€ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๊ณผ ํ•ด์ œ๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ํ•ด์ œ๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด, ๊ทธ๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ ์œ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋Š” ์–ด๋–ป๊ฒŒ ์ ๊ฒ€ํ• ๊นŒ์š”? ์ ๊ฒ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์†Œ์Šค ์ฝ”๋“œ์—์„œ ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ Visual Studio์˜ ์„ฑ๋Šฅ ํ”„๋กœํŒŒ์ผ๋Ÿฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ์ž‘์—… ๊ด€๋ฆฌ์ž๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ ๋ช‡ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜์˜ ์œ„ํ—˜์„ฑ๊ณผ ์ ๊ฒ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(Memory Leak)

๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ž€, ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋™ ์ค‘์— ํ•„์š”์น˜ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ณ„์†ํ•ด์„œ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ์ •์ƒ์ ์ธ ๋™์ž‘์ด๋ผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ํ›„ ํ•ด์ œํ•ด์•ผ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์—†์ง€๋งŒ, ๊ฐœ๋ฐœ์ž์˜ ์‹ค์ˆ˜๋กœ ํ•ด์ œ๋ฅผ ๋†“์ณค๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์š”์ฆ˜ PC์˜ ๊ธฐ๋ณธ ์‚ฌ์–‘์€ 64bit ์šด์˜์ฒด์ œ์™€ 8GB, 16GB ์ด์ƒ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋ ๊นŒ์š”?

๋„ค, ๋‹น์—ฐํžˆ ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก , ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ›„ ์ข…๋ฃŒ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ผ๋ฉด ์ผํšŒ์„ฑ ์ •๋„๋ผ ์—ฌ๊ฒจ ๋„˜๊ธฐ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์— ์ซ“๊ฒจ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์–ด๋””์„œ ๋ฐœ์ƒํ•˜๋Š”์ง€ ์ฐพ์„ ์‹œ๊ฐ„์ด ์—†์–ด ๊ทธ๋ƒฅ ๋ฌด์‹œํ•˜๋”๊ตฐ์š”. ๋‹จ์ง€, ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋  ๋•Œ๋งŒ ๋ฐœ์ƒํ•˜๋‹ˆ๊นŒ์š”.

ํ•˜์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋™ ์ค‘ ๊ณ„์†ํ•ด์„œ ๋ˆ„์ˆ˜๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์–ด๋–จ๊นŒ์š”? ์•„๋ฌด๋ฆฌ ์ž‘์€ ํฌ๊ธฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ผ๋„ ๋ช‡ ์‹œ๊ฐ„, ๋ฉฐ์น , ๋ช‡ ๋‹ฌ ์ด์ƒ์œผ๋กœ ๋ˆ„์ ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋Š” ์‹ฌ๊ฐํ•ด์ง‘๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ์ด 100%์— ์œก๋ฐ•ํ•˜๋ฉด ์œˆ๋„์šฐ๊ฐ€ ์ „์ฒด์ ์œผ๋กœ ๋Š๋ ค์ง€๊ณ  ๋‹ค์šด๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฒ„๋ฒ…๊ฑฐ๋ฆฌ๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์–‘์‚ฐ ๋ผ์ธ์— ์ ์šฉ๋œ ์žฅ๋น„ PC์—์„œ ์ด๋Ÿฐ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ PC๋ฅผ ์žฌ๋ถ€ํŒ…ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์˜จ๋‹ค๋ฉด ์ •๋ง ๋”์ฐํ•˜๊ฒ ์ฃ ?

๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ์ ๊ฒ€ ๋ฐฉ๋ฒ•

๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ ๊ฒ€ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

[๋””๋ฒ„๊น…] ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ ๊ฒ€ํ•˜๋Š” ๋ฐฉ๋ฒ• - CRTDBG (์˜ˆ์ œ ํฌํ•จ)

[๋””๋ฒ„๊น…] ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ ๊ฒ€ํ•˜๋Š” ๋ฐฉ๋ฒ• - CRTDBG Snapshot(์˜ˆ์ œ ํฌํ•จ)

[๋””๋ฒ„๊น…] ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ ๊ฒ€ํ•˜๋Š” ๋ฐฉ๋ฒ• - ์„ฑ๋Šฅ ํ”„๋กœํŒŒ์ผ๋Ÿฌ

[๋””๋ฒ„๊น…] ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ ๊ฒ€ํ•˜๋Š” ๋ฐฉ๋ฒ• - ์ž‘์—… ๊ด€๋ฆฌ์ž

๋ฐ˜์‘ํ˜•