Ä¿³Î µð¹ö°Å(WinDbg) ¼³Ä¡Çϱâ


Áغñ¹° : WinDbg v6.3.17.0
            PC µÎ ´ë + ³Î ¸ðµ© (½Ã¸®¾ó) ÄÉÀÌºí ¶Ç´Â
            PC ÇÑ ´ë + VMware

Âü°í : ±èÃ¢ÈÆ´ÔÀÇ ¡¸VMWARE¸¦ ÅëÇÑ Ä¿³Î µð¹ö±× ¼³Á¤¹æ¹ý¡¹


¢º °³¿ä
Ä¿³Î µð¹ö±ëÀ» ÇϱâÀ§ÇØ ¸ÕÀú Ä¿³Î µð¹ö°Å¸¦ ¼³Ä¡ÇØ º¸µµ·Ï ÇÕ´Ï´Ù. ¼ÒÆ®ÇÁ ¾ÆÀ̽º(ÀÌÇÏ ¼Ò¾Æ)¶ó°í ÇÏ´Â °ÉÃâÇÑ(?) Ä¿³Î µð¹ö°Åµµ ÀÖÀ¸³ª ¿©±â¼­´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼­ ¹«·á·Î Á¦°øÇÏ´Â WinDbg(¿µ¾î·Î ¡®À©µå¹é¡¯À̶ó°í ¹ßÀ½ÇÑ´Ù°í ÇÔ)¸¦ »ç¿ëÇϰڽÀ´Ï´Ù. ¼Ò¾Æ¾Æ´Â ´Ù¸£°Ô WinDbgÀº µÎ ´ëÀÇ ½Ã½ºÅÛÀ» ÇÊ¿ä·Î ÇÑ´Ù°í µÇ¾î ÀÖÀ¸³ª, ÃÖ±Ù(?) PCÀÇ ¼º´ÉÀÌ ºñ¾àÀûÀ¸·Î ¹ßÀüÇÔ¿¡ µû¶ó VMware¿Í °°Àº ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© ¼ÒÇÁÆ®¿þ¾îÀÇ Èû¸¸À¸·Î ÇÑ ´ëÀÇ PC ¾È¿¡ ¶Ç ÇϳªÀÇ °¡»óÀÇ PC¸¦ ±¸µ¿ÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù. ÀÌ¿¡ µû¶ó ½Ã½ºÅÛÀÌ µÎ ´ë°¡ ÇÊ¿äÇÏ´Ù´Â ÀüÁ¦´Â ¹«³ÊÁ® ¹ö·ÈÁö¿ä. Àú °°ÀÌ °¡³­ÇÑ Çлýµé¿¡°Ô´Â Èñ¼Ò½ÄÀÌ ¾Æ´Ò ¼ö ¾ø½À´Ï´ç(»ç½Ç, Àü PC°¡ µÎ ´ë ÀÖ½À´Ï´Ù. -_-;; ¸ÞÀÎ PC´Â ÇԺηΠ´Ù·ê ¼ö°¡ ¾ø¾î¼­... ¼¼ÄÁ PC´Â Á׾ÁÒ~ ^^;). ±×·³ ÀÌÁ¦ º»°ÝÀûÀ¸·Î ¼³Ä¡ÇØ º¸µµ·Ï ÇսôÙ. PC µÎ ´ë¸¦ ÀÌ¿ëÇÏ´Â °Í°ú PC ÇÑ ´ë¸¦ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î ³ª´²¼­ ¼³¸íÇÒ ÅÙµ¥, ¸ÕÀú PC µÎ ´ë¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ¾Ñ, ¸ÕÀú ÇÑ °¡Áö ¿ë¾î¿¡ ´ëÇÑ Á¤Àǰ¡ ÀÖ¾î¾ß °Ú±º¿ä. µð¹ö±ëÀ» ´çÇÏ´Â PC¸¦ Ÿ°Ù PC ¶Ç´Â µð¹ö±â(debuggee)¶ó°í ÇÏ°í µð¹ö±ëÀ» ÇàÇÏ´Â PC¸¦ È£½ºÆ® PC ¶Ç´Â µð¹ö°Å(debugger)¶ó°í ÇÕ´Ï´Ù.


¢º ¹æ¹ý ¨ç PC µÎ ´ë + ³Î ¸ðµ© (½Ã¸®¾ó) ÄÉÀ̺í
WinDbg ¼³¸í¼­¿¡µµ ³ª¿ÍÀÖ´Â Áö±ØÈ÷ Á¤»óÀûÀÎ ¹æ¹ýÀ¸·Î ³Î ¸ðµ© ÄÉÀ̺íÀÌ Ãß°¡·Î ÇÊ¿äÇÕ´Ï´Ù. 5mÂ¥¸®¸¦ 2-3õ¿ø Áá´ø °Í °°½À´Ï´Ù. ÀÏ´Ü µÎ ´ëÀÇ PC¸¦ ³Î ¸ðµ© ÄÉÀ̺í·Î ¿¬°á ÇÕ´Ï´Ù. µÎ PCÀÇ ½Ã¸®¾ó(COM) Æ÷Æ® ¿¬°áÀÌ Á¦´ë·Î µÇ¾ú´ÂÁö´Â ´ÙÀ½°ú °°ÀÌ È®ÀÎÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ¡°½ÃÀÛ -> ÇÁ·Î±×·¥ -> º¸Á¶ ÇÁ·Î±×·¥ -> Åë½Å -> ÇÏÀÌÆÛÅ͹̳Ρ±À» ½ÇÇàÇÕ´Ï´Ù. ±×·¯¸é ´ÙÀ½ È­¸éÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

±×¸² 1
±×·¯¸é À§¿Í °°ÀÌ À̸§¿¡ ¡®Test¡¯¶ó°í ÀÔ·ÂÇϰí È®ÀÎÀ» ÇÕ´Ï´Ù.


±×¸² 2
¿¬°á¿¡ »ç¿ëÇÒ ¸ðµ©À» ¼±ÅÃÇÏ´Â µ¥ ÀÚ½ÅÀÌ ¿¬°áÇÑ COM Æ÷Æ® ¹øÈ£¸¦ ÁöÁ¤ÇÕ´Ï´Ù.


±×¸² 3
´Ù¸¥ °ÍÀº ¼Õ ´î °ÍÀÌ ¾ø°í ¡®ºñÆ®/ÃÊ¡¯¸¦ Àû´çÇÑ ¼Óµµ(ÃÖ°í 115200bps, Àú´Â 57600À¸·Î ÇØ¾ß µÇ´õ±º¿ä. ¤Ì¤Ì)·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¼Óµµ´Â È£½ºÆ®¿Í Ÿ°Ù ¸ðµÎ °°¾Æ¾ß ÇÕ´Ï´Ù. ±×·¯¸é ÀÌ¿Í °°ÀÌ ÇÏÀÌÆÛÅ͹̳Π¼³Á¤À» ¸¶Ä¡¸é ´ÙÀ½°ú °°Àº È­¸éÀÌ ³ªÅ¸³³´Ï´Ù.


±×¸² 4
È£½ºÆ®¿Í Ÿ°Ù ¸ðµÎ ÀÌ·¸°Ô ÇÏÀÌÆÛÅ͹̳ÎÀ» ¶ç¿ö ³õ°í È£½ºÆ® ¶Ç´Â Ÿ°Ù¿¡¼­ Űº¸µå·Î ¹®ÀÚ¸¦ ÀÔ·ÂÇØ º¾´Ï´Ù. ±×·¯¸é ´ÙÀ½°ú °°ÀÌ »ó´ëÆí PCÀÇ È­¸é¿¡ ±×´ë·Î ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.


±×¸² 5
¸¸¾à, ±×´ë·Î ³ªÅ¸³ªÁö ¾Ê´Â ´Ù¸é ¹®Á¦°¡ ÀÖ´Â °ÍÀ̹ǷΠ¸ÕÀú À̰ͺÎÅÍ ÇØ°áÇØ¾ß WinDbg¸¦ ¼³Ä¡ÇϵçÁö ¸»µçÁö ÇϰÚÁö¿ä~? ^^; ÀÌÁ¦ COM Æ÷Æ® ¿¬°áÀº Á¦´ë·Î µÇ¾úÀ¸´Ï ½ÇÁ¦·Î ¼ÂÆÃÀ» ÇØº¼±î¿ä~ ¸ÕÀú È£½ºÆ® PC¿¡¼­ÀÇ ¼³Á¤ÀÔ´Ï´Ù. ¸ÕÀú WinDbg¸¦ ¼³Ä¡ÇÑ ÈÄ ½ÇÇàÀ» ½Ãŵ´Ï´Ù. WinDbg È­¸éÀÌ ¶ß¸é ¸ÕÀú ½Éº¼ ¼³Á¤ºÎÅÍ Çϵµ·Ï ÇÕ´Ï´Ù. ¡°½Éº¼ÀÌ ¹«¾ùÀ̳Ä?¡±¶ó°í ¹°À¸½Ã¸é Àúµµ ¸ð¸¨´Ï´Ù. -_- ´Ù¸é ¾Ë°í ÀÖ´Â °ÍÀ̶ó¸é, µð¹ö±× ¸ðµå·Î ¸µÅ©¸¦ Çϸé xxx.pdb ÆÄÀÏÀÌ »ý¼ºµÇ´Â µ¥ À̰ÍÀÌ ½Éº¼ ÆÄÀÏÀ̶ó´Â °Í. ±×¸®°í ÀÌ ½Éº¼ ÆÄÀÏ ´öºÐ¿¡ ¿ì¸®´Â µð¹ö±ë½Ã, ³»°¡ ¿øÇÏ´Â ÇÔ¼ö¿¡ ºê·¹ÀÌÅ©Æ÷ÀÎÆ®(ÀÌÇÏ ºêÆ÷)¸¦ °É ¶§, bp 00401234°¡ ¾Æ´Ñ bp MyFuncÀÌ °¡´ÉÇØÁö°í, ³»°¡ »ìÆìº¸°íÀÚ ÇÏ´Â º¯¼ö¸¦ º¼ ¶§, dd 00402345°¡ ¾Æ´Ñ dd MyValÀÌ °¡´ÉÇØÁø´Ù´Â Á¤µµ. ¤Ñ,¤Ñ ¾Æ¹«Æ° ÇÏ´Â°Ô ÁÁÀ¸´Ï±î Çϵµ·Ï ÇսôÙ. ^^;;; ¡°File -> Symbol File Path ..."¸¦ ¼±ÅÃÇÕ´Ï´Ù.


±×¸² 6
¡°Symbol path¡±¸¦ À§¿Í °°ÀÌ ÀÔ·ÂÇÕ´Ï´Ù. ¿©±â¼­ÀÇ ½Éº¼ ¼³Á¤Àº ¿ì¸®°¡ »ìÆìº¸°íÀÚ ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀÇ ½Éº¼ÀÌ ¾Æ´Ï¶ó ¿î¿µ üÁ¦ ÀÚü, Áï WindowsÀÇ ½Éº¼ÀÔ´Ï´Ù. ¿¹Àü¿¡´Â Windows¸¦ ÆÇ¸ÅÇÒ ¶§ ¸®¼Ò½º Ŷ(?)°ú °°Àº CD¿¡ ±× ¿î¿µÃ¼Á¦ÀÇ ½Éº¼ ÆÄÀÏÀ» ³Ö¾î¼­ ¹èÆ÷Çß´Ù°í Çϴ±º¿ä. ÇÏÁö¸¸ ¿äÁòÀº ¼­ºñ½º ÆÑÀ̳ª ÇÖ ÇȽº µîÀ¸·Î ÀÎÇØ ½Éº¼ ÆÄÀϵµ ¹Ù²î¾î¾ß Çϴµ¥ ±×¶§±×¶§¸¶´Ù Ÿ°Ù PCÀÇ Windows ¹öÀü »óŸ¦ Ã¼Å©ÇØ¼­ ½Éº¼ ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â °ÍÀÌ ¾î·Æ±â ¶§¹®¿¡ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼­´Â ½Éº¼ ¼­¹ö¶ó´Â °ÍÀ» ¿î¿µÇϰí ÀÖ½À´Ï´Ù. ¼³Á¤Àº ´ÙÀ½°ú °°½À´Ï´Ù.

srv*C:\WebSymbols*http://msdl.microsoft.com/download/symbols

ÀÌ·¸°Ô ¼³Á¤À» Çϸé WinDbg´Â ¸ÕÀú C:\WebSymbols ¿¡ Ÿ°Ù PCÀÇ ¿î¿µ üÁ¦¿¡ ¸Â´Â ½Éº¼ ÆÄÀÏÀÌ ÀÖ´ÂÁö °Ë»çÇÏ°í ¾øÀ¸¸é ½Éº¼ ¼­¹ö¿¡¼­ ´Ù¿î¹Þ¾Æ C:\WebSymbols ¿¡ º¸°üÇØ ³õ½À´Ï´Ù.

¡Ø ÁÖÀÇ : C:\WebSymbols µð·ºÅ丮´Â »ç¿ëÀÚ°¡ Á÷Á¢ ¸¸µé¾î ³õ¾Æ¾ß ÇÕ´Ï´Ù. WinDbg°¡ ¸¸µé¾î ÁÖÁö ¾Ê½À´Ï´Ù. À̰Ͷ«¿¡ ÇÑÂü »ðÁúÇßÁÒ. ¤Ì¤Ì
---> ÃÖ±Ù ¹öÀü¿¡¼­´Â ÀÚµ¿À¸·Î ¸¸µé¾î ÁÖ´Â °Í °°½À´Ï´Ù.


½Éº¼ ¼³Á¤À» ¸¶ÃÆÀ¸¸é "File -> Kernel Debug..."¸¦ ¼±ÅÃÇÕ´Ï´Ù.


±×¸² 7
Åë½Å Æ÷Æ®¿Í ¼Óµµ¸¦ ¾Ë¸Â°Ô ±âÀÔÇÑ ÈÄ È®ÀÎÀ» ´©¸¨´Ï´Ù.


±×¸² 8
±×·¯¸é À§¿Í °°ÀÌ Å¸°Ù PC°¡ ¿¬°áµÇ±â¸¦ ±â´Ù¸³´Ï´Ù. ÀÌ·¸°Ô È£½ºÆ® PC¸¦ ¾ÖŸ°Ô ±â´Ù¸®°Ô ÇØ³õ°í ÀÌÁ¦ Ÿ°Ù PCÀÇ ¼³Á¤À» ÇØº¸µµ·Ï ÇսôÙ. È£½ºÆ® PCÀÇ ¼³Á¤µµ °£´ÜÇÏÁö¸¸ Ÿ°Ù PC´Â ´õ´õ¿í °£´ÜÇÕ´Ï´Ù.


±×¸² 9
C µå¶óÀÌºê ·çÆ® µð·ºÅ丮¿¡ ÀÖ´Â boot.ini ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß Çϴµ¥, À§ ±×¸²ÀÇ 6¹ø ÁÙ°ú °°ÀÌ ÇÑ ÁÙÀ» Ãß°¡ÇÑ ÈÄ ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÏ¸é ³¡ÀÔ´Ï´Ù. ÀçºÎÆÃÀ» ÇÏ°Ô µÇ¸é ¿î¿µ üÁ¦¸¦ ¼±ÅÃÇÏ´Â ¸Þ´º°¡ ³ª¿Ã °Çµ¥ °Å±â¼­ ¾Æ·¡ÀÇ ¿ì¸®°¡ Ãß°¡ÇÑ ¸Þ´º¸¦ ¼±ÅÃÇÏ¸é µÇ´Â °ÍÀÔ´Ï´Ù. ¼±ÅÃÀ» ÇÑ ÈÄ ¿î¿µ üÁ¦¸¦ ½ÃÀÛÇÏ¸é ´« ºüÁö°Ô ±â´Ù¸®´ø È£½ºÆ®¿¡¼­ ¹ÝÀÀÀ» º¸ÀÔ´Ï´Ù.


±×¸² 10
¾Æ·¡ »óÅ ǥ½ÃÁÙ¿¡´Â ¿¬°á ¾ÈµÇ¾ú´Ù°í ³ª¿ÀÁö¸¸ ½ÇÁ¦·Î´Â ¿¬°á µÈ °ÍÀÔ´Ï´Ù. ±×·³ ÀÌÁ¦ Ÿ°Ù PC¿¡ ºê·¹ÀÌÅ©¸¦ °É¾î º¼±î¿ä? Ctrl+Break ¶Ç´Â "Debug -> Break"¸¦ ¼±ÅÃÇÏ½Ã¸é ´ÙÀ½°ú °°ÀÌ ºê·¹ÀÌÅ©°¡ °É¸³´Ï´Ù.


±×¸² 11
¿ª½Ã Ä¿³Î µð¹ö°¡ ´ä°Ô Ÿ°Ù PCÀÇ ½Ã½ºÅÛ ÀÚü°¡ ¸ØÃß¾î ¹ö¸³´Ï´Ù. ºê·¹ÀÌÅ©°¡ °É¸° ÈÄ ½Éº¼À» ·ÎµùÇÏ´Â °ÍÀÌ º¸ÀÌ´Â ±º¿ä. ¿Ö µÎ ¹øÀ̳ª ÇÏÁö? -_-;; ¾Æ¹«Æ°, ÀÌÁ¦ WinDbg ¼³Ä¡´Â ³¡³µ½À´Ï´Ù. ÀÌÁ¦ VMware¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀ» ¾Ë¾Æº¼±î¿ä~


¢º ¹æ¹ý ¨è PC ÇÑ ´ë + VMware
WinDbgÀº ¡°named pipe¡±¶ó´Â °ÍÀ» ÀÌ¿ëÇÏ¿© °¡»ó ¸Ó½Å°ú Åë½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ÕÀú VMware ¼³Á¤À» ÇØº¾½Ã´Ù. ¿ì¼± °¡»ó ¸Ó½Å¿¡ Windows¸¦ ¼³Ä¡Çؾ߰ÚÁÒ. ¡°Virtual Machine Settings -> Hardware¡± ÅÇÀ» º¸¸é ´ÙÀ½°ú °°ÀÌ ±âº»À¸·Î´Â ½Ã¸®¾ó Æ÷Æ®°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.


±×¸² 12
½Ã¸®¾ó Æ÷Æ®¸¦ Ãß°¡Çϱâ À§ÇØ [Add]¸¦ Ŭ¸¯ÇÕ´Ï´Ù.


±×¸² 13
¿©±â¼­ "Serial Port"¸¦ ¼±ÅÃÇϰí [´ÙÀ½]À» Ŭ¸¯ÇÕ´Ï´Ù.


±×¸² 14
"Output to named pipe"¸¦ ¼±ÅÃÇϰí [´ÙÀ½]À» Ŭ¸¯.


±×¸² 15
¿©±â¼­´Â "Named pipe"ÀÇ À̸§¸¸ ÀÚ½ÅÀÌ ¿øÇÏ´Â °ÍÀ¸·Î ¹Ù²ãÁÝ´Ï´Ù. ¿©±â¼­´Â "vm_com"À¸·Î ÇÏ¿´½À´Ï´Ù. [¸¶Ä§]À» Ŭ¸¯ÇÏ¸é ´ÙÀ½°ú °°ÀÌ ½Ã¸®¾ó Æ÷Æ®°¡ ¼³Á¤µÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.


±×¸² 16
"I/O mode -> Yield CPU on poll"ÀÌ ¹«¾ùÀ» ÀǹÌÇÏ´ÂÁö´Â Àß ¸ð¸£°Ú±º¿ä. Âü°í ±Û¿¡ üũ°¡ µÇ¾î Àֱ淡 Àúµµ ±×·¸°Ô Çß½À´Ï´Ù. ^^;; ÀÌÁ¦ VMwareÀÇ ¿ÜºÎÀûÀÎ ¼³Á¤Àº ³¡³µ°í ÀÌÁ¦ °¡»ó ¸Ó½ÅÀÇ Windows¸¦ ±âµ¿ÇÕ´Ï´Ù.


±×¸² 17
ºÎÆÃÀÌ ¿Ï·áµÇ¸é ±×¸² 9¿Í °°ÀÌ boot.ini ÆÄÀÏÀ» ¼öÁ¤Çϰí ÀçºÎÆÃÇÏ¸é µË´Ï´Ù. ¿©±â¼­´Â ¼Óµµ¸¦ 115200bps·Î Àâ¾Æµµ Àß µ¿ÀÛÇϴ±º¿ä~ ±×·³ ÀÏ´Ü ÀçºÎÆÃÀ» ÇØº¼±î¿ä~?


±×¸² 18
¿©±â¼­ ¿£Å͸¦ ´©¸£Áö¸»°í ±×´ë·Î µÓ´Ï´Ù. ¾ÆÁ÷ È£½ºÆ® PC ¼³Á¤ÀÌ ¾ÈµÇ¾ú±â ¶§¹®ÀÌÁÒ. È£½ºÆ® PC´Â WinDbg¸¦ ½ÇÇà½ÃŰ´Â PC¶ó´Â °Å ¾Ë°í °è½ÃÁÒ? °¡»ó PC°¡ ¾Æ´Ñ ÀÚ½ÅÀÇ ½ÇÁ¦ PC°¡ È£½ºÆ® PCÀε¥ ¿©±â¼­ WinDbg¸¦ ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù. ±×·¯³ª ÀÌÀüó·³ ÇÁ·Î±×·¥ ¸Þ´º¿¡ µî·ÏµÇ¾î ÀÖ´Â WinDbg¸¦ ½ÇÇà½ÃÄѼ­´Â °¡»ó PC¿Í ÆÄÀÌÇÁ·Î ¿¬°áµÉ ¼ö ¾ø½À´Ï´Ù. ÆÄÀÌÇÁ·Î ¿¬°áµÇ±â À§Çؼ­´Â WinDbg ½ÇÇà½Ã ¿É¼ÇÀ» ºÙ¿©Áà¾ß ÇÕ´Ï´Ù. ½ÇÇàÇÒ ¶§¸¶´Ù ÀÌ·¸°Ô ¿É¼ÇÀ» ºÙ¿©ÁÖ´Â °ÍÀº ±ÍÂúÀ¸¹Ç·Î ¾Æ¿¹ ´ÙÀ½°ú °°ÀÌ ´ÜÃà ¾ÆÀÌÄÜÀ» Çϳª ´õ ¸¸µé°í À̸§À» ¹Ù²ß´Ï´Ù.


±×¸² 19

¿©±â¼­´Â WinDbg ´ÜÃà ¾ÆÀÌÄÜÀ» º¹»çÇÏ¿© WinDbg_pipe¶ó°í À̸§À» ºÙ¿´½À´Ï´Ù. ±×·± ´ÙÀ½ ¼Ó¼ºÀ» ¿­°í ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù.


±×¸² 20
¡°´ë»ó¡±¿¡ ½ÇÇà ÆÄÀÏ °æ·Î µÚ¿¡ À§¿Í °°ÀÌ ¿É¼ÇÀ» ºÙ¿© ÁÝ´Ï´Ù. ÀÌÁ¦ »õ·Î »ý¼ºÇÑ WinDbg_pipe·Î ½ÇÇàÇϸé pipe¸¦ ÀÌ¿ëÇÏ¿© °¡»ó ¸Ó½ÅÀ» µð¹ö±ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ½ÇÇàÇØ º¸µµ·Ï ÇսôÙ.


±×¸² 21
´Ù½Ã WinDbgÀÇ ¾ÖŸ´Â ±â´Ù¸²ÀÌ ½ÃÀ۵Ǿú½À´Ï´Ù. ±×¸² 18¿¡¼­ ¸ØÃß¾î ÀÖ´ø Ÿ°Ù PC¸¦ ¸Þ´º Áß ([µð¹ö°Å »ç¿ë °¡´É]À̶ó°í µÇ¾î ÀÖ´Â) ¾Æ·¡ Ç׸ñÀ» ¼±ÅÃÇÑ ÈÄ ¿£Å͸¦ ´©¸¨´Ï´Ù. ±×·¯¸é WinDbg´Â ´ÙÀ½°ú °°ÀÌ ¹ÝÀÀÀÌ ¿É´Ï´Ù.


±×¸² 22
¾Ñ, ±×Àü¿¡ ½Éº¼ ¼³Á¤À» ÇØ¾ß Çϴµ¥... Àú°°Àº °æ¿ì¿£ ÀÌÀü¿¡ ¼³Á¤ÇØ ³õÀº°Ô À־ ±×°Ô Àû¿ëÀÌ µÈ °Í °°½À´Ï´Ù. PC µÎ ´ë¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀ» Âü°íÇϼ¼¿ä. ÀÌÁ¦ ¡°Ctrl+Break¡±¸¦ ´­·¯ Ÿ°Ù PC¿¡ ºê·¹ÀÌÅ©¸¦ °É¾î º¼±î¿ä.


±×¸² 23


¢º ½Éº¼ Å×½ºÆ®
À̷νá Ä¿³Î µð¹ö±ë ȯ°æÀÌ ±¸ÃàµÇ¾ú½À´Ï´Ù. ¦¦¦~! ³¡³»±â Àü¿¡ ½Éº¼ÀÌ Á¦´ë·Î ·ÎµåµÇ¾ú´ÂÁö °£´ÜÇÏ°Ô Å×½ºÆ®¸¦ ÇØº¸µµ·Ï ÇսôÙ. ¸ÕÀú ½Éº¼ °æ·Î°¡ Á¦´ë·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇØ º¾½Ã´Ù. ÁÖÀÇ: ÀÌ ÀÛ¾÷Àº ºê·¹ÀÌÅ©¸¦ °É¾î³õÀº »óÅ¿¡¼­ ÇÒ ¼ö ÀÖ½À´Ï´Ù.


±×¸² 24
.sympath ÀÌ ¸í·ÉÀº ÇöÀç ¼³Á¤µÈ ½Éº¼ °æ·Î¸¦ º¸¿©ÁÝ´Ï´Ù. ´Ù½Ã Çѹø ¸»¾¸µå¸®´Âµ¥ ¿©±â¼­ ·ÎÄà °æ·Î¸¦ C:\WebSymbols À¸·Î ¼³Á¤ÇÏ¿´´Âµ¥, ÀÌ µð·ºÅ丮´Â »ç¿ëÀÚ°¡ ¹Ýµå½Ã ¸¸µé¾î ³õ¾Æ¾ß ÇÕ´Ï´Ù. ½Éº¼ ¼­¹ö·ÎºÎÅÍ ½Éº¼ ÆÄÀÏÀ» Á¤»óÀûÀ¸·Î ¹Þ¾Æ¿Ô´Ù¸é ÀÌ µð·ºÅ丮 ¾Æ·¡¿¡ ¸¹Àº Æú´õ¿Í ÆÄÀϵéÀÌ »ý±æ °ÍÀÔ´Ï´Ù. ´ÙÀ½À¸·Î´Â ½ÇÁ¦·Î ½Éº¼ÀÌ ·ÎµåµÇ¾ú´ÂÁö¸¦ È®ÀÎÇØ º¾½Ã´Ù.


±×¸² 25
NTDLL ¸ðµâ°ú nt ¸ðµâÀÇ ½Éº¼ÀÌ ·ÎµåµÇ¾ú´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¸ðµâ¿¡ ´ëÇØ¼­´Â (deferred)¶ó°í ³ª¿À´Âµ¥, À̰ÍÀº ¸ðµâÀº ·ÎµåµÇ¾úÁö¸¸ ±×¿¡ ÇØ´çÇÏ´Â ½Éº¼Àº ·ÎµåµÇÁö ¾Ê¾Ò´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. deferred, ¸» ±×´ë·Î ¡®¿¬±âµÈ¡¯ÀÔ´Ï´Ù. WinDbg´Â ¸ðµâÀÌ ·ÎµåµÉ ¶§¸¶´Ù ±×¿¡ µû¸¥ ¸ðµç ½Éº¼À» ·ÎµåÇÏÁö ¾Ê½À´Ï´Ù. ±×·¸°Ô µÇ¸é ÀÚ²Ù ½Éº¼ ·Îµù¿¡ ½Ã°£ÀÌ ¸¹ÀÌ »©¾Ñ±â±â ¶§¹®ÀÌÁÒ. ½Éº¼ÀÌ ÇÊ¿äÇÒ ¶§ »ç¿ëÀÚ°¡ ¸í½ÃÀûÀ¸·Î ºÎ¸£¸é µÇ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀ» ¡°Deferred Symbol Loading¡±À̶ó°í ÇÕ´Ï´Ù. ±×·³ ¾ÆÁ÷ ·ÎµåµÇÁö ¾ÊÀº ½Éº¼À» ·ÎµåµÇµµ·Ï ÇØº¾½Ã´Ù. À§ ±×¸²À» º¸¸é hal ½Éº¼ÀÌ ¾ÆÁ÷ ·ÎµåµÇÁö ¾Ê¾Ò±º¿ä. ÀÌ ½Éº¼À» ·ÎµåÇϵµ·Ï ÇÕ´Ï´Ù.


±×¸² 26
hal ½Éº¼ÀÌ ·ÎµåµÇ¾ú½À´Ï´Ù. È®ÀÎÇØ º¸µµ·Ï ÇÏÁö¿ä.


±×¸² 27

ÀÌÁ¦ ±¸Ã¼ÀûÀ¸·Î ¾î¶² ¸ðµâ¿¡ ¾î¶² ½Éº¼ÀÌ ÀÖ´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇսôÙ. NTDLLÀ» º¸µµ·Ï ÇÏÁö¿ä.


±×¸² 28


¢º ¸ÎÀ½¸»
ÀÌÂëÇϸé Ä¿³Î µð¹ö±ë ȯ°æÀÌ ±¸ÃàµÇ¾úÀ¸´Ï ´ÙÀ½ ±Û¿¡¼­´Â Àú¹ø¿¡ ¾ê±âÇß´ø ÁÖÁ¦¸¦ ´Ù·çµµ·Ï ÇϰڽÀ´Ï´Ù~! ¾Ñ, ±×¸®±¸ WinDbg¸¦ ¼³Ä¡ÇÏ¸é Æ÷ÇԵǾî ÀÖ´Â µµ¿ò¸» ÆÄÀÏÀÌ Àִµ¥, ²Ï µµ¿òÀÌ ¸¹ÀÌ µË´Ï´Ù(±×·¡¼­ µµ¿ò¸»Àΰ¡...-_-). ±Ã±ÝÇÏ½Å°Ç ¿Ø¸¸ÇÏ¸é °Å±â¿¡ ´Ù ÀÖÀ» µí Çϳ׿ä. ±×·³ À̸¸~~