Google
[1536]
 
 
 
 
 
 
 
 
 
 
 
 
¾×¼Ç½ºÅ©¸³Æ®  
 
 
 
 
 
 
 
 
 
 
 

3. Break points â

for ¹® ¾ÈÀ» µð¹ö±ëÇÒ¶§ µ¥ÀÌÅͰ¡ ¸¹À» °æ¿ì ÀÏÀÏÈ÷ Step Over ¹öưÀ» ´­·¯°¡¸ç È®ÀÎÇϱâ´Â Á¤¸» ±ÍÂúÀ» °ÍÀÌ´Ù. ¸¸ÀÏ ¿¡·¯°¡ ÀÏÁ¤ÇÑ ÁöÁ¡ ȤÀº °ª¿¡¼­ ¹ß»ýÇÑ´Ù¸é for ¹®ÀÇ ¸ðµç µ¥ÀÌÅ͸¦ È®ÀÎÇÒ ÇÊ¿ä¾øÀÌ ±× °ªÀÌ ³ª¿À´Â n ¹øÂ° ½ÇÇà¿¡¼­ Á¦¾î¸¦ ¸ØÃß°í º¯¼öÀÇ °ªÀ» È®ÀÎÇÏ¸ç µð¹ö±ëÀ» ÇÒ ¼ö ÀÖÀ¸¸é ¹«Ã´ Æí¸®ÇÒ °ÍÀÌ´Ù.

 

¿¹¸¦ µé¸é¼­ ¼³¸íÇϰڴÙ. Source Code â¿¡ break point ¸¦ °É¸é Breakpoints â¿¡µµ Ç¥½ÃµÈ´Ù. ¾Æ·¡ ±×¸²Àº AJAX °­ÀÇ 4-9Àå - ÀÚµ¿¿Ï¼º ±â´É ±¸ÇöÇϱâ ÀÇ autoComplete.html ÀÇ setNames ¸Þ¼ÒµåÀÇ for ¹®¾È¿¡¼­ nextNode °ªÀ» ¾ò¾î¿À´Â ºÎºÐ¿¡ hard break point¸¦ ¼³Á¤ÇÑ °ÍÀ¸·Î ÇØ´ç ºê·¹ÀÌÅ© Æ÷ÀÎÆ®¿¡ ¸¶¿ì½º ¿À¸¥ ¹öưÀ» Ŭ¸¯Çϰí Breakpoints Properties ¸¦ Ŭ¸¯Çغ¸ÀÚ.

 

 

<Source Code â¿¡ hard break point ¸¦ ¼³Á¤ÇÑ È­¸é>

 


 
<Breakpoints â¿¡¼­ Breakpoint Properties ¼±ÅÃÇϱâ>
 
 
±×·¯¸é ¾Æ·¡¿Í °°Àº »õ·Î¿î âÀÌ ¶ã °ÍÀÌ´Ù.
 

 
<Future Breakpoint Properties Ã¢>
 
Future Breakpoint Properties â¿¡¼­ À§ ±×¸²Ã³·³ When triggered, execute... üũ¸¦ ¼±ÅÃÇϰí ÅØ½ºÆ® ¹Ú½º¿¡ return nextNode == "½ºÅ¸Å©·¡ÇÁÆ®"; ¸¦ ÀÔ·ÂÇÏÀÚ. (À§ ÅØ½ºÆ® ¹Ú½º¿¡´Â ÀÓÀÇÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 ³Ö¾î¼­ µð¹ö±ë½Ã À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. __count__ ´Â iterator ÀÇ ¹Ýº¹°ªÀ» ÀǹÌÇÑ´Ù.)±×¸®°í Stop if result is true ¸¦ ¼±ÅÃÇÏÀÚ. À̰ÍÀº autoComplete.html ÀÇ 86 ¶óÀÎÀÇ nextNode °ªÀÌ ½ºÅ¸Å©·¡ÇÁÆ®À̸é(true À̸é) ½ÇÇàÀ» ¸ØÃß¶õ °ÍÀÌ´Ù. Apply ¹öưÀ» ´­·¯ ¼³Á¤À» ÀúÀåÇϰí Close ¹öưÀ» ´­·¯ âÀ» ´ÝÀÚ. À¥ ºê¶ó¿ìÀúÀÇ °Ë»ö¾î â¿¡ ½ºÅ¸¸¦ ÀÔ·ÂÇÏÀÚ. ±×·¯¸é ¾Æ·¡ ±×¸²°ú °°ÀÌ Venkman ÀÌ 86 ¶óÀο¡¼­ ½ÇÇàÀ» ¸ØÃâ °ÍÀÌ´Ù. ¸¸ÀÏ ½ºÅ¸¸¦ ÀÔ·ÂÇßÀ»¶§ ¼­¹ö¿¡¼­ Àü´ÞµÈ µ¥ÀÌÅÍ Áß¿¡ ½ºÅ¸Å©·¡ÇÁÆ®°¡ ¾ø´Ù¸é ºê¶ó¿ìÀúÀÇ ½ÇÇàÀº ¸ØÃßÁö ¾ÊÀ» °ÍÀÌ´Ù. µð¹ö±ëÁß nextNode °ªÀ» È®ÀÎÇÏ·Á¸é Local Variabes âÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù. ´Ù¸¸ ÇѱÛÀÇ °æ¿ì ¼­¹ö¿¡¼­ UTF-8 charset À¸·Î ÀÎÄÚµùµÇ¾î Àü´ÞÇϰí ÀÖÀ¸¹Ç·Î °ªÀ» È®ÀÎÇØµµ µðÄÚµùÇϱâ ÀüÀÇ °ªÀ̹ǷΠÀÐÀ» ¼ö°¡ ¾ø´Ù. µû¶ó¼­ Stop if result is true ÀÇ ±â´ÉÀ» È®ÀÎÇÏ·Á¸é °Ë»ö¾î¸¦ ÇÑ±Û ´ë½Å ¿µ¹®À¸·Î ÀÔ·ÂÇØ¼­ È®ÀÎÇϱ⠹ٶõ´Ù.
 

 
<Future Breakpoint Properties Ã¢ ¼³Á¤¿¡ ÀÇÇØ¼­ ¸ØÃçÁø È­¸é>
 
 
4. Local Varialbes â

 
À§ ±×¸²Àº Local Variables âÀ» ³ªÅ¸³½ °ÍÀÌ´Ù. Local Variables âÀº µð¹ö±ëÁß º¯¼öÀÇ °ªÀ» È®ÀÎÇϰųª Á÷Á¢ °ªÀ» ¼öÁ¤Çؼ­ Å×½ºÆ® ÇØ º¼ ¼ö ÀÖ´Â ¾ÆÁÖ À¯¿ëÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù. Local Variables âÀ» º¸¸é ÃÖ»óÀ§ ¾Æ¾ÆÅÛÀ¸·Î scope ¿Í this µÎ°¡Áö°¡ ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
 
scope ´Â ¸Þ¼Òµå ³»ºÎÀÇ Áö¿ªº¯¼ö ¸ñ·ÏÀ» Æ÷ÇÔÇϰí ÀÖ´Ù. ´ëºÎºÐÀÇ ÀÚ¹Ù½ºÅ©¸³Æ®´Â ¸Þ¼Òµå ´ÜÀ§·Î ÀÛ¼ºµÇ¹Ç·Î ¸Þ¼Òµå¾È¿¡ ºê·¹ÀÌÅ© Æ÷ÀÎÆ®°¡ ¼³Á¤µÇ¸é ¼³Á¤ Æ÷ÀÎÆ® ÁÖº¯ÀÇ º¯¼ö¸¦ °ª°ú ÇÔ²² ³ª¿­ÇÑ´Ù. µð¹ö±ëÇϸ鼭 °¢ º¯¼öÀÇ °ªÀÌ ¾î¶²Áö´Â Local Variables âÀÇ scope ¾ÆÀÌÅÛÀ» ÆîÃļ­ È®ÀÎÇÏ¸é µÈ´Ù.
 
this ´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ Àü¿ªº¯¼ö ¸ñ·ÏÀ» ³ªÅ¸³½´Ù. ÀϹÝÀûÀÎ this Ű¿öµå´Â À©µµ¿ì °´Ã¼ÀÇ ·¹ÆÛ·±½º À̹ǷΠ¸Þ¼Òµå ¹Û¿¡ Àü¿ªº¯¼ö var xxx... À¸·Î ¼±¾ðµÈ º¯¼ö »Ó¸¸¾Æ´Ï¶ó À©µµ¿ì ¼Ó¼ºµéµµ ´Ù¼ö Æ÷ÇԵǾî ÀÖ´Ù.
 
À§ Local Variables âÀ» º¸¸é º¯¼ö ¿ÞÂÊ¿¡ ¾ÆÀÌÄÜÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¾ÆÀÌÄܵéÀº µ¥ÀÌÅÍÀǠŸÀÔÀ» ÀǹÌÇϴµ¥ boolean, double, integer, null, object, string, void µî¿¡ ÇØ´çÇÏ´Â ¾ÆÀÎÄÜÀÌ ¸ðµÎ ´Ù¸£¹Ç·Î Âü°íÇÏÀÚ.
 
¸¸ÀÏ Venkman À» »ç¿ëÇÏÁö ¾Ê°í ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 µð¹ö±ëÇÑ´Ù¸é ¼ö¸¹Àº alert() ¸¦ Âï¾î°¡¸ç ÇϳªÇϳª °ªÀ» È®ÀÎ ÇØ¾ß¸¸ Çß´Ù. µð¹ö±ëÀÌ Á¾·áµÈ ÈÄ¿¡´Â alert() ¸Þ¼Òµå´Â »èÁ¦ÇØ¾ß Çϰí, µð¹ö±ë ¿Ï·á ÈÄ¿¡µµ µð¹ö±ëÀÌ ÇÊ¿äÇÑ »óȲÀÌ ¹ß»ýÇÏ¸é ´Ù½Ã alert() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÑ È®ÀÎÀÛ¾÷À» ÇØ¾ß Çß´Ù. ÇÏÁö¸¸ Venkman À» ÀÌ¿ëÇØ¼­ µð¹ö±ëÇÏ´Â ÀÛ¾÷¿¡´Â ºê·¹ÀÌÅ© Æ÷ÀÎÆ®¸¦ ¼³Á¤Çϰí Local Variable âÀ» ÅëÇØ¼­ °ªÀ» È®ÀÎÇÏ¸é ±×°ÍÀ¸·Î ³¡ÀÌ´Ù.
 
¶ÇÇÑ Local Variables âÀ» ÅëÇØ¼­ DOM ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼º¿¡´Â ¾î¶²°ÍµéÀÌ ÀÖ´ÂÁö ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î HTMLTableElement ÀÇ ¼Ó¼º¿¡ offsetHeight, offsetLeft °¡ ÀÖ´ÂÁö ȤÀº öÀÚ´Â Á¤È®ÇÑÁö ¾Ë ¼ö ÀÖ´Ù. ÀÌ¹Ì ¾Ë°í ÀÖ´Ù¸é »ó°ü¾ø°ÚÁö¸¸ Local Variables âÀº DOM ¿ä¼ÒÀÇ ¼Ó¼ºÀ» ÆÄ¾Ç Çϴµ¥¿¡µµ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.
 
Local Variables â¿¡¼­ ¸¶Áö¸·À¸·Î È®ÀÎÇÒ °ÍÀº ·±Å¸Àӽຯ¼öÀÇ °ªÀ» ¼öÁ¤Çؼ­ µð¹ö±ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀÌ´Ù. ¸¸ÀÏ ¿¡·¯°¡ ¹ß»ýÇÏ´Â ÁöÁ¡À» ¾Ë°í ÀÖ´Ù¸é º¯¼öÀÇ °ªÀ» ¼öÁ¤Çؼ­ Å×½ºÆ®¸¦ Çغ¸°í ½ÍÀ» °ÍÀÌ´Ù. ¼öÁ¤ÇÑ º¯¼öÀÇ °ªÀ¸·Î ¿¡·¯°¡ ÇØ°á µÇ¾ú´Ù¸é ¿Ö À߸øµÈ °ªÀÌ µé¾î¿Ô´ÂÁö ¿ªÀ¸·Î ÃßÀûÀÌ °¡´ÉÇϱ⠶§¹®¿¡ µð¹ö±ë¿¡´Â ¾ø¾î¼­´Â ¾ÈµÉ Çʼö ±â´ÉÀ̶ó ÇϰڴÙ. »ç¿ëÇÏ´Â ¹æ¹ýÀº ¸¶¿ì½º·Î ´õºíŬ¸¯Çϰųª ¸¶¿ì½º ¿À¸¥¹öư -> Change Value ¸¦ ¼±ÅÃÇÏ¸é º¯¼ö °ªÀ» ¼öÁ¤ÇÒ ¼ö Àִ prompt âÀÌ ¶ã °ÍÀÌ´Ù. À̰÷¿¡´Â À¯È¿ÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® Ç¥Çö½Ä(¿¹ new Object() µî)À» ÀÔ·ÂÇÏ¸é µÈ´Ù. String °ªÀÇ °æ¿ì´Â ½Öµû¿ÈÇ¥ ȤÀº Ȧµû¿ÈÇ¥·Î °¨½Î¾ß ÇÑ´Ù.
 
 
5. Watches â
Watches âÀº Local Variables â°ú ºñ½ÁÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù. Â÷ÀÌÁ¡À̶ó¸é °³¹ßÀÚ°¡ º¸°í ½ÍÀº º¯¼ö¸¸ ¹Ì¸® µî·ÏÇØ ³õ°í º¼ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. Local Variables âÀº ºê·¹ÀÌÅ© Æ÷ÀÎÆ®·Î ¼³Á¤µÈ ÁöÁ¡(¸Þ¼Òµå ³»ºÎÀÇ ¸ðµç º¯¼ö ¹× Àü¿ª º¯¼ö, À©µµ¿ìÀÇ ¸ðµç ¼Ó¼ºµé)ÀÇ ¸ðµç º¯¼ö¸¦ º¸¿©ÁØ´Ù. ¸ñ·ÏÀÌ ³Ê¹« ¸¹À¸¸é ã±âµµ ¼ö¿ùÇÏÁö ¾Ê±â ¶§¹®¿¡ ¿øÇÏ´Â º¯¼ö¸¦ Watches â¿¡ µî·ÏÇØ ³õ°í ¸¶Ä¡ Local Variables âÀξ砻ç¿ëÇÏ¸é µÈ´Ù. ´Ù¸¸ Watches âÀ» ÅëÇØ¼­ º¯¼öÀÇ °ªÀ» ¼öÁ¤ÇÒ ¼ö´Â ¾ø´Ù. ´ÙÀ½ ±×¸²µéÀ» ÅëÇØ¼­ Watches â¿¡ º¯¼ö¸¦ µî·ÏÇÏ´Â ¹æ¹ýÀ» ÀÍÇôº¸ÀÚ.

<1. Watches â¿¡¼­ ¿À¸¥ÂÊ ¸¶¿ì½º Ŭ¸¯-> Add Watch Expression...¼±ÅÃ>
 

<2. µî·ÏÇÒ º¯¼ö¸í ÀÔ·Â>

 

<3. µð¹ö±ëÇϸ鼭 º¯¼öÀÇ °ªÀ» È®ÀÎÇÑ´Ù.>

 

 

6. Call Stack â

Venkman Àº Call Stack âÀ» ÅëÇØ¼­ È£ÃâµÇ´Â ¸Þ¼Òµå ¸®½ºÆ®¸¦ È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.

 

 

À§ ±×¸²Àº Call Stack â¿¡ setNames ¿Í callback µÎ°³ÀÇ ¸Þ¼Òµå°¡ Á¸ÀçÇÔÀ» ³ªÅ¸³½´Ù. ¸Ç À§¿¡ À§Ä¡ÇÑ ¸Þ¼Òµå°¡ ÇöÀç µð¹ö±ëÁßÀÎ ¸Þ¼ÒµåÀÌ°í ±× ¹Ø¿¡ ÀÖ´Â callback ¸Þ¼Òµå´Â ÇöÀç ¸Þ¼Òµå¸¦ È£ÃâÇϰí ÀÖ´Â ¸Þ¼ÒÀÌ´Ù. Áï callback ¸Þ¼Òµå ¾È¿¡¼­ setNames ¸¦ È£ÃâÇÒ °æ¿ì À§¿Í °°ÀÌ Ç¥½ÃµÈ´Ù. Áï Call Stack â¿¡ Ç¥½ÃµÇ´Â ¼ø¼­´Â ¸Þ¼Òµå È£Ãâ ¼ø¼­¸¦ ÀǹÌÇÑ´Ù. ¸Þ¼Òµå È£Ãâ°ü°è°¡ »ó´çÈ÷ º¹ÀâÇÒ ¶§ Call Stack âÀ» Ȱ¿ëÇÏ¸é ¸Þ¼Òµå°£ È£Ãâ°ü°è¸¦ ½±°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù.

 

7. Profile

Ajax °³¹ß¿¡ Àͼ÷ÇØÁö¸é ½ºÅ©¸³Æ® ÄÚµåÀÇ ¾çµµ µ¢´Þ¾Æ ´Ã¾î³­´Ù. µû¶ó¼­ ¼­¹öÂÊ ÇÁ·Î±×·¥ »Ó¸¸ ¾Æ´Ï¶ó ½ºÅ©¸³Æ® ÄÚµå·Î ÀÎÇØ¼­ º´¸ñÇö»óÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. Ajax ´Â ¹é±×¶ó¿îµå·Î ½ÇÇàµÇ¹Ç·Î ¾î´À °÷¿¡¼­ ½Ã°£ÀÌ ¼ÒºñµÇ°í ÀÖ´ÂÁö ÆÄ¾ÇÇϱâ Èûµé´Ù. Venkman Àº Profile À̶õ ±â´ÉÀ» ÅëÇØ¼­ °¢ ¸Þ¼Òµå°¡ ¸î¹ø È£ÃâµÇ¾ú°í ¼Ò¿ä½Ã°£(milli second)Àº ¾ó¸¶³ª µÇ´ÂÁö µ¥ÀÌÅ͸¦ ¼öÁýÇØ¼­ Ä£ÀýÇϰԵµ ÅØ½ºÆ®, html, xml, csv Çü½ÄÀÇ ÆÄÀÏ·Î ÀúÀåÇØ ÁØ´Ù.

 Profile À» »ç¿ëÇÏ·Á¸é ¿· ±×¸²Ã³·³ Venkman ¸ÞÀÎ ¸Þ´º ¾Æ·¡¿¡ ÀÖ´Â Profile ¹öưÀ» Ŭ¸¯Çؼ­ ³ì»öÀÇ Ã¼Å©¾ÆÀÌÄÜÀÌ Ç¥½ÃµÇµµ·Ï ÇÑ´Ù. ±× ÈÄ¿¡ ºê¶ó¿ìÀú¿¡¼­ ÇØ´ç ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 ½ÇÇàÇÑ ÈÄ Venkman ¸Þ´º -> Profile -> Save Profile Data As... ¸¦ ¼±ÅÃÇØ¼­ ¿øÇÏ´Â Æ÷¸Ë(ÅØ½ºÆ®, html, xml, csv) ÆÄÀÏ·Î ÀúÀåÇÑ ÈÄ È®ÀÎÇÏ¸é µÈ´Ù. Çѹø ÇÁ·ÎÆÄÀÏ µ¥ÀÌÅ͸¦ ÆÄÀÏ·Î ÀúÀåÇÑ ÈÄ¿¡´Â File -> Profile -> Clear Profile Data ¸¦ Ŭ¸¯Çؼ­ ¹öÆÛ¸¦ ºñ¿î ÈÄ¿¡ »ç¿ëÇÏÀÚ.


 
À§ ±×¸²Àº ÅØ½ºÆ® Çü½ÄÀÇ ÇÁ·ÎÆÄÀÏ ·Î±×ÀÇ ÀÏÁ¤ ºÎºÐÀÌ´Ù. ¸Þ¼ÒµåÀÇ ÃÑ È£Ã⠰Ǽö ¹× ¼Ò¿ä½Ã°£(msec) À» È®ÀÎ ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¾î´À °÷¿¡¼­ º´¸ñÇö»óÀÌ ¹ß»ýÇÏ´ÂÁö º¸´Ù ºü¸£°Ô È®ÀÎ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
 
 

À̹ø 7Àå¿¡¼­´Â Ajax ¹× ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ¹ö±×¸¦ ã´Âµ¥ µµ¿òÀ» ÁÙ ¼ö ÀÖ´Â 3°¡Áö Åø¿¡ ´ëÇØ¼­ ¼Ò°³ÇÏ¿´´Ù. ÇÑ ¿¬±¸°á°ú¿¡ ÀÇÇÏ¸é °³¹ßÀÚ°¡ ¾÷¹«¿¡ ½ñ´Â ½Ã°£ÀÇ ¹ÝÀº ´Ù¸¥ »ç¶÷ÀÌ ÀÛ¼ºÇÑ Äڵ忡¼­ ¹ß»ýÇÏ´Â ¿¡·¯¸¦ ã°Å³ª ÇØ°á¹æ¾ÈÀ» ¸ð»öÇϴµ¥ ¼Ò¸ðÇÑ´Ù°í ÇÑ´Ù. È¥ÀÚ Ç®±â Èûµé´Ù¸é ÅøÀ» »ç¿ëÇØ º¸ÀÚ. ´Ü¼øÈ÷ ¿¡·¯¸¦ ã°í ÇØ°áÇÏ´Â °Í ÀÌ»óÀÇ ¹«¾ùÀΰ¡¸¦ ¾òÀ» °ÍÀÌ´Ù.

 

À̰ÍÀ¸·Î 7ÀåÀ» ¸¶Ä£´Ù.