°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "¸Þ¸ð¸® ´ýÇÁ ºÐ¼®°ú È°¿ë 1" Á¤°¡ 40,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
1Àå Å©·¡½Ã ´ýÇÁ Å©·¡½Ã ´ýÇÁ¶õ? ¿Ã¹Ù¸¥ Å©·¡½Ã ´ýÇÁ Å©·¡½Ã¶õ? ÇàÀ̶õ? ½Éº¼ ÆÄÀÏÀ̶õ? Å©·¡½Ã¿Í ÇàÀÇ Â÷ÀÌ ¼±ÇàÀû Å©·¡½Ã ´ýÇÁ
2Àå Àü¹®ÀûÀÎ Å©·¡½Ã ´ýÇÁ ºÐ¼® ¹Ì´Ï ´ýÇÁ ºÐ¼® ½ºÅ©¸³Æ®¿Í WinDbg ¸í·É ÄÄÆ÷³ÍÆ® ½Äº° ·Î ½ºÅà µ¥ÀÌÅÍ ºÐ¼® ½Éº¼°ú À̹ÌÁö ÀÎÅÍ·´Æ®¿Í ¿¹¿Ü¿¡ ´ëÇÑ ¼³¸í ¿¹¿Ü ¼³¸í¿¡ ¾Õ¼ X86 ÀÎÅÍ·´Æ® x64 ÀÎÅÍ·´Æ® ÀÎÅÍ·´Æ® ÇÁ·¹ÀÓ°ú ½ºÅà À籸¼º X86 Æ®·¦ ¸í·É x64 Æ®·¦ ¸í·É À¯Àú ¸ðµåÀÇ ¿¹¿Ü ù ¹ø°¿Í µÎ ¹ø° ¿¹¿Ü¸¦ ±¸º°ÇÏ´Â ¹æ¹ý Æ÷½ºÆ®¸ðÅÒ µð¹ö°Å´Â ´©°¡ È£ÃâÇϴ°¡? ºñ½ºÅ¸ ¿¡·¯ ¸®Æ÷ÆÃÀÇ ±¸Á¶ ÆäÀÌÁö ÆúÆ®¿¡ ´ëÇÑ ´Ù¸¥ ½Ã°¢ ¸î °¡Áö ¹ö±×üũ NMI_HARDWARE_FAILURE IRQL_NOT_LESS_OR_EQUAL KERNEL_MODE_EXCEPTION_NOT_HANDLED KMODE_EXCEPTION_NOT_HANDLED SYSTEM_THREAD_EXCEPTION_NOT_HANDLED CAFF CF ½ºÅà Ʈ·¹À̽º¸¦ À籸¼ºÇÏ´Â ¹æ¹ý WinDbg ÆÁ°ú Æ®¸¯ ´ýÇÁ¿¡¼ ¹®ÀÚ¿ ã±â ÇÁ·Î¼¼½º¸¦ µð¹ö±ëÇÏ´Â Áß¿¡ Win32 API ÃßÀû ÀͽºÆ÷Æ®µÈ NTDLL°ú Ä¿³Î ±¸Á¶Ã¼ °£´ÜÇÑ ¸®½ºÆ® Ž»ö ½º·¹µå ÀϽà ÁßÁö Èü ½ºÅà Ʈ·¹À̽º ÇÏÀÌÆÛÅؽºÆ® ¸í·É Çà ºÐ¼®À» ºü¸£°Ô »ïÁß ¿ªÂüÁ¶ °ÇÃÊ ´õ¹Ì¿¡¼ ¹Ù´Ã ã±â ½ºÅà Ʈ·¹À̽º ÃßÁ¤Çϱ⠾ø´Â ½Éº¼ Á¤º¸ º¹»ç ½Éº¼ ¸Þ½ÃÁö ÇØ°á ÅÂ±× °Ë»ö ¿À·¡µÈ ´ýÇÁ, »õ·Î¿î ÀͽºÅÙ¼Ç °´Ã¼ À̸§°ú ´ë±â ÁßÀÎ ½º·¹µå °¡»ó À̹ÌÁö¿¡¼ÀÇ ¸Þ¸ð¸® ´ýÇÁ ÇÁ·Î¼¼½º ÇÊÅ͸µ WinDbg ½ºÅ©¸³Æ® ù ¹ø° ½ºÅ©¸³Æ® ±âŸ WinDbg ½ºÅ©¸³Æ® µ¥µå¶ô°ú Å©¸®Æ¼Äà ¼½¼Ç º¸¾È ¹®Á¦ ¼ö¹é °³ÀÇ Å©·¡½Ã ´ýÇÁ ¸Å°³º¯¼ö¸¦ °¡Áø ½ºÅ©¸³Æ® º¸¾È À̽´¿Í ½ºÅ©¸³Æ® ¸ðµç ½º·¹µåÀÇ ·Î ½ºÅà ´ýÇÁ(ÇÁ·Î¼¼½º ´ýÇÁ) ¸ðµç ½º·¹µåÀÇ ·Î ½ºÅà ´ýÇÁ(ÄÄÇø®Æ® ´ýÇÁ) »ç·Ê ¿¬±¸ ÄÚµå ¾ÈÀÇ ·çÇÁ ŽÁö Å©·¡½Ã ´ýÇÁ ºÐ¼® üũ¸®½ºÆ® Å©·¡½Ã ´ýÇÁ ºÐ¼® Æ÷½ºÅÍ(HTML ¹öÀü)
3Àå Å©·¡½Ã ´ýÇÁ ºÐ¼® ÆÐÅÏ ´ÙÁß ¿¹¿Ü µ¿Àû ¸Þ¸ð¸® ÈÑ¼Õ ±àÁ¤ ¿À·ù ´ýÇÁ ¿ÜÃø ¼Õ»ó ÃÖÀûÈµÈ ÄÚµå À¯È¿ÇÏÁö ¾ÊÀº Æ÷ÀÎÅÍ ÀÏÄ¡ÇÏÁö ¾Ê´Â ´ýÇÁ ¼û°ÜÁø ¿¹¿Ü µ¥µå¶ô(Å©¸®Æ¼Äà ¼½¼Ç) º¯ÈµÈ ȯ°æ ºÎÁ¤È®ÇÑ ½ºÅà Ʈ·¹À̽º OMAP ÄÚµå ÃÖÀûÈ ÄÄÆ÷³ÍÆ® ½Éº¼ ¾øÀ½ ºÒÃæºÐÇÑ ¸Þ¸ð¸®(Ä¿¹ÔµÈ ¸Þ¸ð¸®) ½ºÆÄÀÌÅ· ½º·¹µå ¸ðµâ ´Ù¾ç¼º ½ºÅà ¿À¹öÇ÷οì(Ä¿³Î) µ¥µå¶ô(ÀͽºÅ¥Æ¼ºê ¸®¼Ò½º) ºÒÃæºÐÇÑ ¸Þ¸ð¸®(ÇÚµé ¸¯) °ü¸®µÈ ÄÚµå ¿¹¿Ü Àß·ÁÁø ´ýÇÁ ½º·¹µå ´ë±â ½Ã°£ µ¥µå¶ô(È¥ÇÕµÈ °´Ã¼µé) ¸Þ¸ð¸® ´©¼ö(ÇÁ·Î¼¼½º Èü) ÀÒ¾î¹ö¸° ½º·¹µå ¾Ë·ÁÁöÁö ¾ÊÀº ÄÄÆ÷³ÍÆ® ¸Þ¸ð¸® ´©¼ö(´å³Ý Èü) ÀÌÁß ÇØÁ¦(ÇÁ·Î¼¼½º Èü) ÀÌÁß ÇØÁ¦(Ä¿³Î Ç®) ¿ì¿¬È÷ ÀÏÄ¡ÇÏ´Â ½Éº¼ Á¤º¸ ½ºÅà Ʈ·¹À̽º °¡»óÈµÈ ÇÁ·Î¼¼½º(WOW64) ½ºÅà Ʈ·¹À̽º ¸ðÀ½ °áÇÕµÈ ÇÁ·Î¼¼½º ±Ø½ÉÇÑ °æÀï ¿ì¿¬ÇÑ ¶ô ¼öµ¿ÀûÀÎ ½º·¹µå(À¯Àú °ø°£) ¸ÞÀÎ ½º·¹µå ºÒÃæºÐÇÑ ¸Þ¸ð¸®(Ä¿³Î Ç®) ºÐÁÖÇÑ ½Ã½ºÅÛ ¿ª»çÀû Á¤º¸ IRP ºÐÆ÷ ÀÌ»ó Áö¿ª ¹öÆÛ ¿À¹öÇÃ·Î¿ì ¼öµ¿ÀûÀÎ ½Ã½ºÅÛ ½º·¹µå(Ä¿³Î °ø°£) Ãʱâ Å©·¡½Ã ´ýÇÁ ÈÄÅ·µÈ ÇÔ¼ö »ç¿ëÀÚ Á¤ÀÇ ¿¹¿Ü Çڵ鷯 µ¥µå¶ô(LPC) Ưº°ÇÑ ½ºÅà Ʈ·¹À̽º ¼öµ¿ ´ýÇÁ(Ä¿³Î) ´ë±â üÀÎ(ÀϹÝÀûÀÎ) ¼öµ¿ ´ýÇÁ(ÇÁ·Î¼¼½º) ´ë±â üÀÎ(Å©¸®Æ¼Äà ¼½¼Ç)
4Àå Å©·¡½Ã ´ýÇÁ ºÐ¼® ¾ÈƼ ÆÐÅÏ ¿Ü·¡ ÄÄÆ÷³ÍÆ® ZIPPOCRICY ÀÔ¼Ò¹® À߸øµÈ ´ýÇÁ ¹®Á¦ ±â¼ú¼ ¹«½Ã Å©·¡½Ã ´ýÇÁ°¡ ÇÊ¿äÇѵ¥... '~ÀÌ´Ù'ÀÇ »ç¿ë Ãà¾à¾î¿¡ ¼Ó´Ù
5Àå °úÇÐÀû Á¢±Ù ¸Þ¸ð¸® ´ýÇÁ - ¼öÇÐÀû Á¤ÀÇ Ãß»ó °ø°£¿¡ ²¿¿©ÀÖ´Â ²ö°ú °°Àº ½º·¹µå ¸Þ¸ð¸® ´ýÇÁ ºÐ¼®À̶õ? ¸Þ¸ð¸±¸®¿Â°ú Äõµå¸Þ¸ð¸±¸®¿Â Å©·¡½Ã ´ýÇÁÀÇ ³× °¡Áö ¿øÀÎ º¹À⼺°ú ¸Þ¸ð¸® ´ýÇÁ ¼ÒÇÁÆ®¿þ¾î °áÇÔÀ̶õ?
6Àå Àç¹ÌÀÖ´Â Å©·¡½Ã ´ýÇÁ ´ýÇÁ ºÐ¼®°ú À½¼º ÀÎ½Ä ´ýÇÁ¿Í ÇÔ²² ªÀº ¸Þ½ÃÁö º¸³»±â °è»ê±âµµ µÇ´Â WinDbg ´ýÇÁ¿Í µð¹ö°Å, °¡»óÈ ¹ÂÁöÄà ´ýÇÁ µð¹ö°Å¸¦ µð¹ö±ëÇϱ⠹ÂÁöÄà ´ýÇÁ: Dump2Wave ´ýÇÁ Åä¸ð±×·¡ÇÇ °¡Àå ÀÛÀº ÇÁ·Î±×·¥ ÇÁ·Î¼¼½º °ø°£¿¡¼ÀÇ À½¼º Å©·¡½Ã ´ýÇÁ ºÐ¼® ¸íÇÔ ÄÄÇ»ÅÍ ¸Þ¸ð¸® µè±â ¸Þ¸ð¸® ´ýÇÁ °¡½ÃÈ ¸Þ¸ð¸® ´©¼ö °¡½ÃÈ ÄÄÇ»ÅÍ ¸Þ¸ð¸® ±×¸®±â À¯´ÏÄÚµå º¸±â 2Áø¿¡¼ 10ÁøÀ¸·ÎÀÇ º¯È¯¹ý °¡¸£Ä¡±â Å©·¡½Ã ´ýÇÁ¿Í ±Û·Î¹ú À½¸ð
7Àå GDB¿Í WinDbg AT&T¿Í ÀÎÅÚ ±¸¹® ¼³Ä¡ µð½º¾î¼Àºí·¯ ½ºÅà Ʈ·¹À̽º(¹é Æ®·¹À̽º) Áö¿ªº¯¼ö
8Àå ¼ÒÇÁÆ®¿þ¾î Æ®·¯ºí½´Æà ³× °³ÀÇ ±âµÕ 5°³ÀÇ È²±Ý ·ê ºñÆÇÀûÀÎ »ç°í µð¹ö±ëÇÒ ¶§ÀÇ Æ®·¯ºí½´ÆÃ
9Àå ½ÃÆ®¸¯½º »ç Ç®ÅÂ±× ½ÃÆ®¸¯½º »çÀÇ ¼ºñ½º ¸ñ·Ï ½ÃÆ®¸¯½º »çÀÇ ¾À¿ÍÀÌ¾î ¸®¹ö½º ¿£Áö´Ï¾î¸µ
10Àå º¸¾È ¸Þ¸ð¸® ½Ã°¢È WinDbg´Â °³ÀÎ Á¤º¸ Ä£ÈÀû Å©·¡½Ã ´ýÇÁ¿Í º¸¾È
11Àå Å©·¡½Ã ´ýÇÁÀÇ ±Ù¿ø JIT ¼ºñ½º µð¹ö±ë ºñ½ºÅ¸¿¡¼ÀÇ Áö¿ª Å©·¡½Ã ´ýÇÁ COM+ Å©·¡½Ã ´ýÇÁ userdump.exe¿¡ ´ëÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® »çÀÇ ±â»ç Á¤Á¤ ¾îµð¼ ¹ß»ýÇÑ Å©·¡½Ã ´ýÇÁÀΰ¡? ºñ½ºÅ¸ÀÇ »ç¿ëÀÚ Á¤ÀÇ Æ÷½ºÆ®¸ðÅÒ µð¹ö°Å ºñ½ºÅ¸¿¡¼ Dr. WatsonÀÇ ºÎÈ° ÇÁ·Î¼¼½º Ãæµ¹ - ¼öµ¿À¸·Î ´ýÇÁ ¾ò±â Dr. Watson ¾÷±×·¹À̵å savedump.exe¿Í ÆäÀÌÁö ÆÄÀÏ ºñ½ºÅ¸ ´ýÇÁÇϱâ Áß´Ü ¾øÀÌ ÇÁ·Î¼¼½º ´ýÇÁÇϱâ 64ºñÆ®¿¡¼ÀÇ userdump.exe X64 À©µµ¿ì¿¡¼ÀÇ NTSD ´ýÇÁ°¡ ÇÊ¿äÇÑ°¡¿ä? °øÅë À¯½ºÄÉÀ̽º
12Àå Åø ¿¢¼¿À» »ç¿ëÇÑ ¸Þ¸ð¸® ´ýÇÁ ºÐ¼® testdefaultdebugger.net ½Éº¼ ¼¹öÀÇ ´ÜÁ¡ StressPrinters: °Á¦ ÇÁ¸°ÅÍ ÀÚµ¿ »ý¼º ÀνºÅÏÆ® ´ýÇÁ(JIT ÇÁ·Î¼¼½º ´ýÆÛ) TestDefaultDebugger DumpAlerts DumpDepends ´ýÇÁ ¸ð´ÏÅÍ ½´Æ® SystemDump
13Àå ±âŸ ¿©·¯ °¡Áö KiFastSystemCallRetÀ̶õ? I/O ÄÄÇø®¼Ç Æ÷Æ®ÀÇ ÀÌÇØ ½Éº¼ ÆÄÀÏ °æ°í¹® ºñ½ºÅ¸¿¡¼ À©µµ¿ì ¼ºñ½º Å©·¡½Ã ´ýÇÁ Ä¿³Î °ø°£À¸·Î °¡´Â ±æ ¸Þ¸ð¸® ´ýÇÁ ºÐ¼®°¡ ¸éÁ¢¿ë Áú¹® µð¹ö±ëÇÒ ¶§ µè±â ÁÁÀº À½¾Ç PDBFinder ÇÁ·Î¼¼½º°¡ Á¶¿ëÈ÷ Á×´Â °æ¿ì ASLR: ÁÖ¼Ò °ø°£ ·¹À̾ƿô ·£´ýÈ ºñ½ºÅ¸¿¡¼ ÇÁ·Î¼¼½º¿Í ½º·¹µåÀÇ ½ÃÀÛ ´ÜÀÏ ÇÁ·Î¼¼¼ ¸Ó½Å¿¡¼ÀÇ °æÀï Á¶°Ç ZW*¿Í NT* ÇÔ¼ö ´Ù½Ã º¸±â ÇÁ·Î±×·¡¸Ó À¯´Ï¹ö¼³¸®½º ´ÚÅÍ ¿Ó½¼ ·Î±× ºÐ¼® µð¹ö±ë ÀÌÈÄÀÇ ³Á¦ Å©·¡½Ã ´ýÇÁ ºÐ¼® ½ºÅ¸ÀÏ ºñÁÖ¾ó ½ºÆ©µð¿À¿¡¼ Å©·¡½Ã ´ýÇÁ ºÐ¼®Çϱâ 64ºñÆ® ´ýÇÁ¿¡ ÀÖ´Â 32ºñÆ® ½ºÅà ¾î¼ÀÇǵð¾Æ WINEÀÌ Å©·¡½Ã ´ýÇÁ ºÐ¼®¿¡ µµ¿òÀÌ µÇ´Â ÀÌÀ¯ ·¹°Å½Ã µð¹ö±ëÀÇ °øÆ÷ UML°ú µð¹ÙÀ̽º µå¶óÀ̹ö Åë°èÇÐ: ¸ðµç ÇÁ·Î¼¼½º¿¡ °ÉÃļ CPU°¡ 100%ÀÎ °æ¿ì
ºÎ·Ï A Å©·¡½Ã ´ýÇÁ ºÐ¼® Æ÷ÅÐ
ºÎ·Ï B ÂüÁ¶ ½ºÅà Ʈ·¹À̽º
ÀÌ Ã¥Àº 2006~2007³â DumpAnalysis.org ºí·Î±×¿¡ Æ÷½ºÆÃµÈ ±Û Áß ÀϺθ¦ °ñ¶ó ±³Á¤°ú ÆíÁýÀ» ÇÏ°í, ±× ³»¿ëÀ» ¼·Î ÂüÁ¶ÇØ ÁÖÁ¦º°·Î ¿«Àº °ÍÀÌ´Ù. Âü°í ¹®ÇåÀ¸·Î »ç¿ëµÇ±æ ¹Ù¶ó¸ç ¾ÕÀ¸·ÎÀÇ ³» Ã¥¿¡¼µµ ÀοëÇÒ ¿¹Á¤ÀÌ´Ù.
ÀÌ Ã¥Àº ´ÙÀ½°ú °°Àº °æ¿ì¿¡ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Ù.
- À©µµ¿ì Ç÷§Æû¿¡¼ Á¦Ç°À» °³¹ßÇÏ°í À¯Áö º¸¼öÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î - ±â¼ú Áö¿ø ºÎ¼¿Í º¹ÀâÇÑ ¼ÒÇÁÆ®¿þ¾î À̽´¸¦ ´Ù·ç´Â ¿¡½ºÄ÷¹À̼Ç(escalation) ¿£Áö´Ï¾î - ¶ÇÇÑ ÀÏ¹Ý À©µµ¿ì »ç¿ëÀÚ°¡ Èï¹Ì¸¦ ´À³¢´Â ±Ûµµ ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë
- ½Ç¹«¿¡¼ °æÇèÇÏ´Â ´Ù¾çÇÑ Å©·¡½Ã ´ýÇÁ ºÐ¼® ÆÐÅÏ - Ãʺ¸ÀÚ¸¦ À§ÇÑ °¢ »ç·Êº° Å©·¡½Ã ´ýÇÁ ºÐ¼® ±â¹ý - °¢ »ç·Êº° ´ýÇÁ ºÐ¼® µµ±¸ÀÇ »ç¿ë¹ý - ´Ù¾çÇÑ °üÁ¡¿¡¼ ¹Ù¶óº¸´Â Å©·¡½Ã ´ýÇÁ ÆÄÀÏÀÇ ºÐ¼® ±â¹ý
ÃßõÀÇ ±Û
±¹³»¿Ü¿¡ ¸¹Àº µð¹ö±ë °ü·Ã ÃâÆǹ°ÀÌ ÀÖÁö¸¸ ´ëºÎºÐ ³»¿ëÀÌ ÀÔ¹®¼ ¼öÁØÀ̰ųª ¾Æ´Ï¸é ¸Å¿ì Æ÷°ýÀûÀÎ ÁÖÁ¦¸¦ ´Ù·ç´Â °³³ä¼¿¡ ±×Ä¡°í ÀÖ´Ù. ¹Ý¸é¿¡ ÀÌ Ã¥Àº µð¹ö±ëÀ» ÇÒ ¶§ Á÷¸éÇÏ´Â ÀϹÝÀûÀÎ »çÇ×Àº ¹°·Ð, ¼Õ»óµÈ ´ýÇÁ¿Í ¸Þ¸ð¸®¿¡¼ºÎÅÍ ´Ü°èÀûÀ¸·Î ¿øÀÎ ºÐ¼®À» À§ÇÑ ´Ù¾çÇÑ ±â¹ý¿¡ À̸£±â±îÁö, °³¹ßÀÚ°¡ ½±°Ô °æÇèÇÒ ¼ö ¾ø¾ú´ø µð¹ö±ë °ü·Ã ³»¿ëÀ» ÁÖÁ¦ º°·Î ½Éµµ ÀÖ°Ô ¶§·Î´Â Èï¹ÌÁøÁøÇÏ°Ô ´Ù·é´Ù. À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀ̳ª ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö µî¿¡ °ü½É Àְųª °ü·Ã ÀÏÀ» ÇÏ´Â °³¹ßÀÚ¶ó¸é ´©±¸¿¡°Ô³ª °¡Àå ½Ç¿ëÀûÀÌ¸ç ½Ç¹«ÀûÀÎ ¾È³»¼ ¿ªÇÒÀ» ÇØÁÖ´Â ±æÀâÀÌ°¡ µÉ °ÍÀÌ´Ù.
±èÁ¡°© / ¾Èö¼ö ¿¬±¸¼Ò ±â¹Ý±â¼úÆÀ ¼ö¼®¿¬±¸¿ø, ¿¡ÀÌÄÜ À©µµ¿ì ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö ½Ã¸®Áî ¿¡µðÅÍ
|
|
|
|
|