Áø´Ü ¼­ºñ½º

¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ÆÄ¿îµ¥ÀÌ¼Ç Å¬·¡½º ¶óÀ̺귯¸®´Â ½±°Ô ÇÁ·Î±×·¥À» µð¹ö±ë ÇÏ´Â ¿©·¯ Áø´Ü ¼­ºñ½º¸¦ Á¦°ø ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Áø´Ü ¼­ºñ½º ¸ÅÅ©·Î ¹× ÃßÀû ÇÁ·Î±×·¥ÀÇ ¸Þ¸ð¸® ÇÒ´çÀ» ·±Å¸ÀÓ¿¡ °³Ã¼ÀÇ ³»¿ëÀ» ´ýÇÁ ÇÏ °í ·±Å¸ÀÓ¿¡ µð¹ö±ë ¸Þ½ÃÁö¸¦ ÀμâÇÒ ¼ö ÀÖ´Â Àü¿ª ÇÔ¼ö¸¦ Æ÷ÇÔ ÇÕ´Ï´Ù. ¸ÅÅ©·Î ¹× Áø´Ü ¼­ºñ½º¿¡ ´ë ÇÑ Àü¿ª ÇÔ¼ö´Â ´ÙÀ½ ¹üÁÖ·Î ±×·ìÈ­ µË´Ï´Ù.:

ÀÌ·¯ÇÑ ¸ÅÅ©·Î ÇÔ¼ö¿Í MFCÀÇ µð¹ö±× ¹× ¸±¸®½º ¹öÀü¿¡ CObject ¿¡¼­ ÆÄ»ý µÈ ¸ðµç Ŭ·¡½º¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª DEBUG_NEW ¹× È®ÀÎ À» Á¦¿ÜÇÑ ¸ðµç ¸±¸®½º ¹öÀü¿¡¼­ ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í¡£

µð¹ö±× ¶óÀ̺귯¸®¿¡¼­ ¸ðµç ÇÒ´ç µÈ ¸Þ¸ð¸® ºí·Ï "°¡µå ¹ÙÀÌÆ®." ½Ã¸®Áî¿Í »çÀÌ ÀÌ·¯ÇÑ ¹ÙÀÌÆ®´Â À߸ø µÈ ¸Þ¸ð¸® ¾²±â¿¡ ÀÇÇØ ¹æÇØ, Áø´Ü ·çƾ ¹®Á¦¸¦ º¸°íÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁÙÀ» Æ÷ÇÔ ÇÏ´Â °æ¿ì

# define »õ DEBUG_NEW

±¸Çö ÆÄÀÏ¿¡ ¸ðµç È£ÃâÀ» »õ ÆÄÀÏ À̸§ ¹× ÁÙ ¹øÈ£¸¦ ¸Þ¸ð¸® ÇÒ´ç Àå¼Ò¸¦ Çß´Ù ÀúÀå ÇÕ´Ï´Ù. CMemoryState::DumpAllObjectsSince ÇÔ¼ö´Â ¸Þ¸ð¸® ´©¼ö¸¦ ½Äº°ÇÒ ¼ö ÀÖµµ·ÏÀÌ ¿©ºÐÀÇ Á¤º¸¸¦ Ç¥½Ã µË´Ï´Ù. Áø´Ü Ãâ·Â¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº CDumpContext Ŭ·¡½º¸¦ ¶ÇÇѸ¦ ÂüÁ¶ ÇϽʽÿÀ.

¶ÇÇÑ, C ·±Å¸ÀÓ ¶óÀ̺귯¸®´Â ¶ÇÇÑ ÀÏ·ÃÀÇ Áø´Ü ±â´ÉÀ» ÀÀ¿ë ÇÁ·Î±×·¥À» µð¹ö±ë ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö¸¦ Áö¿ø ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ÂüÁ¶ µð¹ö±ë ·çƾ ½ÇÇà-ŸÀÓ ¶óÀ̺귯¸® ÂüÁ¶¡£

MFC ÀÏ¹Ý Áø´Ü ¸ÅÅ©·Î

ÁÖÀå ¸Þ½ÃÁö¸¦ Àμâ ÇÏ °í ÁöÁ¤ µÈ ½ÄÀÌ FALSE ·Î ¶óÀ̺귯¸®ÀÇ µð¹ö±× ¹öÀü¿¡¼­ °è»ê ÇÏ´Â °æ¿ì ÇÁ·Î±×·¥À» Áß´Ü¡£
ASSERT_KINDOF °³Ã¼ ¶Ç´Â ÁöÁ¤µÈ µÈ Ŭ·¡½º¿¡¼­ ÆÄ»ý µÈ Ŭ·¡½ºÀÇ ÁöÁ¤µÈ µÈ Ŭ·¡½ºÀÇ °³Ã¼´Â Å×½ºÆ®¡£
ASSERT_VALID AssertValid ¸â¹ö ÇÔ¼ö;¸¦ È£Ãâ ÇÏ ¿© °³Ã¼ÀÇ ³»ºÎ À¯È¿¼º Å×½ºÆ® CObject ¿¡¼­ ÀϹÝÀûÀ¸·Î ÀçÁ¤ÀÇ¡£
DEBUG_NEW ¸Þ¸ð¸® ´©¼ö¸¦ ãÀ» ¼ö ÀÖµµ·Ï µð¹ö±× ¸ðµå¿¡¼­ ¸ðµç °³Ã¼ ÇÒ´ç¿¡ ´ë ÇÑ ÆÄÀÏ À̸§ ¹× ÁÙ ¹øÈ£¡£
ÃßÀû Á¦°ø ÇÏ´Â printf-°°Àº ¶óÀ̺귯¸®ÀÇ µð¹ö±× ¹öÀü¿¡¼­ ±â´É¡£
TRACE0 Àμö ¾øÀÌ °É¸³´Ï´Ù ÇÏÁö¸¸ ÃßÀû À¯»çÇÑ Çü½Ä ¹®ÀÚ¿­¡£
TRACE1 ´ÜÀÏ Àμö °É¸³´Ï´Ù ÇÏÁö¸¸ ÃßÀû À¯»çÇÑ Çü½Ä ¹®ÀÚ¿­¡£
TRACE2 ÃßÀû °É¸³´Ï´Ù ÇÏÁö¸¸ À¯»çÇÑ µÎ °³ÀÇ Àμö Çü½Ä ¹®ÀÚ¿­¡£
TRACE3 ÃßÀû Çü½Ä ¹®ÀÚ¿­ Àμö ¼¼ ¼Ò¿ä¿Í ºñ½ÁÇÏÁö¸¸¡£
È®ÀÎ ASSERT ¿Í À¯»ç ÇÏÁö¸¸ µð¹ö±× ¹öÀüÀ¸·Î »Ó¸¸ ¾Æ´Ï¶ó ¶óÀ̺귯¸®ÀÇ ¸±¸®½º ¹öÀü¿¡¼­ ½ÄÀ» °è»êÇÕ´Ï´Ù¡£

MFC ÀÏ¹Ý Áø´Ü º¯¼ö ¹× ÇÔ¼ö

afxDump µð¹ö°Å Ãâ·Â â ¶Ç´Â µð¹ö±× Å͹̳ΠCDumpContext Á¤º¸¸¦ º¸³»´Â Àü¿ª º¯¼ö¡£
afxMemDF µð¹ö±ë ¸Þ¸ð¸® ÇÒ´çÀÚÀÇ µ¿ÀÛÀ» Á¦¾î ÇÏ´Â Àü¿ª º¯¼ö¡£
afxTraceEnabled »ç¿ë Çϰųª »ç¿ë ÇÏÁö ¾ÊÀ¸·Á¸é TRACE ¸ÅÅ©·Î Ãâ·Â Àü¿ª º¯¼ö¡£
afxTraceFlags MFCÀÇ ±âº» Á¦°ø º¸°í ±â´ÉÀ» ¼³Á¤ ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â Àü¿ª º¯¼ö¡£
AfxCheckError Å×½ºÆ®¸¦ Åë°ú ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â Àü¿ª º¯¼ö ÀûÀý ÇÑ ¿À·ù¸¦ throw ÇÏ´Â SCODE ¿À·ù°¡ °æ¿ì ¹×ÀÌ °æ¿ì, ÂüÁ¶¸¦¡£
AfxCheckMemory ÇöÀç ÇÒ´ç µÈ ¸Þ¸ð¸®ÀÇ ¸ðµç ¹«°á¼º È®ÀΡ£
AfxDump µð¹ö°Å¿¡¼­ È£Ãâ ÇÏ´Â °æ¿ì µð¹ö±ë ÇÏ´Â µ¿¾È °³Ã¼ÀÇ »óŸ¦ ´ýÇÁ¡£
AfxDumpStack ÇöÀç ½ºÅÃÀÇ À̹ÌÁö¸¦ »ý¼º ÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â Ç×»ó Á¤ÀûÀ¸·Î ¸µÅ©¡£
AfxEnableMemoryTracking ¸Þ¸ð¸® ÃßÀû ÄÑ°í ²ô±â ¼³Á¤¡£
AfxIsMemoryBlock ¸Þ¸ð¸® ºí·ÏÀÌ Á¦´ë·Î ÇÒ´ç È®ÀΡ£
AfxIsValidAddress ¸Þ¸ð¸® ÁÖ¼Ò ¹üÀ§´Â ÇÁ·Î±×·¥ÀÇ ¹üÀ§ ³»¿¡¼­ È®ÀΡ£
AfxIsValidString ¹®ÀÚ¿­¿¡ ´ë ÇÑ Æ÷ÀÎÅÍ ¿Ã¹Ù¸¥Áö ¿©ºÎ °áÁ¤¡£
AfxSetAllocHook °¢ ¸Þ¸ð¸® ÇÒ´ç, ÇÔ¼ö È£Ãâ ¼ö¡£

MFC °³Ã¼ Áø´Ü ±â´É

AfxDoForAllClasses ¸ðµç CObject¿¡ ´ëÇØ ÁöÁ¤µÈ µÈ ÇÔ¼ö¸¦ ¼öÇà-ÆÄ»ý Ŭ·¡½º¿¡¼­ Áö ¿øÇÏ´Â ·±Å¸ÀÓ Çü½Ä °Ë»ç¡£
AfxDoForAllObjects ¸ðµç CObject¿¡ ´ëÇØ ÁöÁ¤µÈ µÈ ÇÔ¼ö¸¦ ¼öÇà- »õ ÇÒ´ç µÈ °³Ã¼¸¦ ÆÄ»ý¡£

Index