Áß´ÜÁ¡À» »ç¿ëÇÏ¸é »ç¿ëÀڴ ƯÁ¤ À§Ä¡¿¡¼ ÇÁ·Î±×·¥ ½ÇÇàÀ» ÀϽÃÁß´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. Áß´ÜÁ¡Àº ´ë°³ ¼Ò½º ÄÚµå¿Í ÇÔ²² UI¿¡ Ç¥½ÃµË´Ï´Ù. Áß´ÜÁ¡ÀÌ Ãß°¡ ¹× Á¦°ÅµÉ ¶§ ¾Ë·ÁÁÖ±â À§ÇØ IBreakpointListener¸¦ IBreakpointManager¿¡ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¥ ½ÇÇà Áß¿¡ Áß´ÜÁ¡ÀÌ ¹ß»ýÇϸé ÇÁ·Î±×·¥ÀÌ ÀϽÃÁß´ÜµÇ°í ±× ÀÌÀ¯·Î BREAKPOINT¸¦ »ç¿ëÇÏ¿© SUSPEND µð¹ö±× À̺¥Æ®¸¦ Æ®¸®°ÅÇÕ´Ï´Ù.
ÀÚü µð¹ö±× ¸ðµ¨À» Á¤ÀÇÇÏ°í ±¸¼ºÀ» ÀÚÁÖ ½ÇÇàÇÏ´Â Ç÷¯±×ÀÎÀº °íÀ¯ÇÑ Áß´ÜÁ¡ À¯ÇüÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. IBreakpoint¸¦ ±¸ÇöÇϴ Ŭ·¡½º¸¦ Á¤ÀÇÇÏ¿© ƯÁ¤ µð¹ö±× ¸ðµ¨ÀÇ Áß´ÜÁ¡À» ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
Áß´ÜÁ¡Àº ÀÚ¿ø ¸¶Ä¿¸¦ »ç¿ëÇÏ¿© ±¸ÇöµË´Ï´Ù. ÀÚ¿ø ¸¶Ä¿¸¦ »ç¿ëÇϸé ÀÚ¿ø¿¡ ´ëÇÑ ¸ÞŸ Á¤º¸¸¦ À̸§ ÁöÁ¤µÈ ¼Ó¼º Çü½ÄÀ¸·Î ¿¬°ü½Ãų ¼ö ÀÖ½À´Ï´Ù. ¸¶Ä¿¸¦ »ç¿ëÇÏ¿© Áß´ÜÁ¡À» ±¸ÇöÇÏ¸é µð¹ö±× ¸ðµ¨¿¡¼´Â ÆíÁý±â¿¡¼ Áö¼Ó, °Ë»ö, Ãß°¡, »èÁ¦ ¹× Ç¥½Ã µî°ú °°Àº ±âÁ¸ ¸¶Ä¿ ±â´ÉÀ» ¸ðµÎ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Áß´ÜÁ¡À» »ç¿ëÇÒ ¶§ ¸¶Ä¿¿¡ ´ëÇØ ¾Æ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù. Áß´ÜÁ¡ À¯ÇüÀ» ÀÛ¼ºÇÒ °æ¿ì °ü·ÃµÈ ¸¶Ä¿ À¯Çüµµ ÁöÁ¤ÇØ¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù. org.eclipse.debug.core.breakpointsÀÇ ¸ðµç È®Àå¿¡´Â org.eclipse.core.resources.markersÀÇ È®ÀåÀÌ ¼ö¹ÝµÇ¾î¾ß ÇÕ´Ï´Ù. Java Áß´ÜÁ¡ÀÇ Java µµ±¸¿¡¼ Á¤ÀÇÇÑ È®ÀåÀ» »ìÆìº¸¸é Àß ¾Ë ¼ö ÀÖ½À´Ï´Ù.
<extension id="javaBreakpointMarker" point="org.eclipse.core.resources.markers"> <super type="org.eclipse.debug.core.breakpointMarker"/> </extension> <extension id="javaExceptionBreakpointMarker" point="org.eclipse.core.resources.markers"> <super type="org.eclipse.jdt.debug.javaBreakpointMarker"/> <persistent value="true"/> <attribute name="org.eclipse.jdt.debug.core.caught"/> <attribute name="org.eclipse.jdt.debug.core.uncaught"/> <attribute name="org.eclipse.jdt.debug.core.checked"/> </extension>
<extension point="org.eclipse.debug.core.breakpoints"> <breakpoint id="javaExceptionBreakpoint" markerType="org.eclipse.jdt.debug.javaExceptionBreakpointMarker" class="org.eclipse.jdt.internal.debug.core.breakpoints.JavaExceptionBreakpoint"> </breakpoint> </extension>
µð¹ö±× Ç÷¯±×ÀÎÀº ¸¶Ä¿ÀÇ Æ¯¼ö À¯Çü(org.eclipse.debug.core.breakpointMarker)À» Á¤ÀÇÇÕ´Ï´Ù. ¸¶Ä¿ Á¤ÀÇ ½Ã ÀÌ ¸¶Ä¿¸¦ »óÀ§ À¯ÇüÀ¸·Î »ç¿ëÇÏ¿© ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù. À̸¦ »ç¿ëÇÏ¿© µð¹ö±× ¸ðµ¨Àº ÇØ´ç ¸¶Ä¿ÀÇ ºÎ¼Ó À¯ÇüÀ» °Ë»öÇÏ¿© ¼Ò½º ÆÄÀÏ ³»ÀÇ ¸ðµç °¡´ÉÇÑ Áß´ÜÁ¡À» ãÀ» ¼ö ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼, javaExceptionBreakpointMarker¿¡´Â »óÀ§ À¯ÇüÀÌ ÀÖÀ¸¸ç javaBreakpointMarkerÀÇ »óÀ§ À¯ÇüÀº breakpointMarkerÀÔ´Ï´Ù. Áß´ÜÁ¡ È®Àå¿¡ Á¤ÀÇµÈ javaExceptionBreakpoint ´Â javaExceptionBreakpointMarker¸¦ ÇØ´ç ¸¶Ä¿·Î ÁöÁ¤ÇÕ´Ï´Ù.
À̰ÍÀº ¸ðµÎ ¹«¾ùÀ» ÀǹÌÇմϱî? µð¹ö±× Äڵ忡¼ ¼Ò½º ÄÚµå ÀÚ¿øÀ» ¾òÀ» °æ¿ì »óÀ§ À¯ÇüÀÌ org.eclipse.debug.core.breakpointMarkerÀÎ ¸ðµç ¸¶Ä¿¸¦ °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµç ¸¶Ä¿¸¦ ã¾ÒÀ¸¸é Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®¸¦ »ç¿ëÇÏ¿© ¸¶Ä¿¸¦ ¿¬°üµÈ Áß´ÜÁ¡ Ŭ·¡½º¿¡ ¸ÊÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ½ÄÀ¸·Î Ç÷§Æû µð¹ö±× Äڵ忡¼´Â ÀϹÝÀûÀ¸·Î ƯÁ¤ ¼Ò½º ÆÄÀÏ¿¡ ¼³Á¤µÈ ¸ðµç Áß´ÜÁ¡ À¯ÇüÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù.