锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产免费,国产精品亚洲二区在线,亚洲国产精品无码久久九九大片http://www.tkk7.com/coundy/category/21238.htmlzh-cnWed, 16 May 2007 03:28:52 GMTWed, 16 May 2007 03:28:52 GMT60涓涓皟璇旿SP鐨凟clipse鎻掍歡鐨勫紑鍙?/title><link>http://www.tkk7.com/coundy/articles/117628.html</link><dc:creator>Coundy</dc:creator><author>Coundy</author><pubDate>Tue, 15 May 2007 07:50:00 GMT</pubDate><guid>http://www.tkk7.com/coundy/articles/117628.html</guid><wfw:comment>http://www.tkk7.com/coundy/comments/117628.html</wfw:comment><comments>http://www.tkk7.com/coundy/articles/117628.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/coundy/comments/commentRss/117628.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/coundy/services/trackbacks/117628.html</trackback:ping><description><![CDATA[<p>銆愭憳 瑕併?span class=checkoutHeader twffan="done"><strong>鏈枃閫氳繃寮鍙戜竴涓狫SP 緙栬緫鍣ㄦ彃浠剁殑紺轟緥錛屼粙緇嶄簡 Eclipse 涓緗?nbsp;JSP 鏂偣鐨勬柟娉曪紝浠ュ強濡備綍榪滅▼璋冭瘯 JSP銆備綔涓哄熀紜鐭ヨ瘑錛屾湰鏂囩殑鍓嶄袱閮ㄥ垎鎻忚堪浜?nbsp;JAVA Debug 鍜?nbsp;JSR-45 鐨勫熀鏈師鐞嗐?/strong></span> </p> <div id="coywe88" class=content twffan="done">銆銆鏈枃閫氳繃寮鍙戜竴涓狫SP 緙栬緫鍣ㄦ彃浠剁殑紺轟緥錛屼粙緇嶄簡 Eclipse 涓緗?nbsp;JSP 鏂偣鐨勬柟娉曪紝浠ュ強濡備綍榪滅▼璋冭瘯 JSP銆備綔涓哄熀紜鐭ヨ瘑錛屾湰鏂囩殑鍓嶄袱閮ㄥ垎鎻忚堪浜?nbsp;JAVA Debug 鍜?nbsp;JSR-45 鐨勫熀鏈師鐞嗐?nbsp;<br><br>銆銆鐜瑕佹眰: 鏈枃鐨勪唬鐮佹槸鍦?nbsp;Eclipse3.0.0錛孞DK1.4.2 鍜?nbsp;Tomcat5.0.5 涓婃祴璇曡繃鐨勩?br><br>銆銆<strong>JAVA 璋冭瘯妗嗘灦錛圝PDA錛夌畝浠?/strong><br><br>銆銆JPDA 鏄竴涓灞傜殑璋冭瘯妗嗘灦錛屽寘鎷?nbsp;JVMDI銆丣DWP銆丣DI 涓変釜灞傛銆侸AVA 铏氭嫙鏈烘彁渚涗簡 JPDA 鐨勫疄鐜般傚叾寮鍙戝伐鍏蜂綔涓鴻皟璇曞鎴風錛屽彲浠ユ柟渚跨殑涓庤櫄鎷熸満閫氳錛岃繘琛岃皟璇曘侲clipse 姝f槸鍒╃敤 JPDA 璋冭瘯 JAVA 搴旂敤錛屼簨瀹炰笂錛屾墍鏈?nbsp;JAVA 寮鍙戝伐鍏烽兘鏄繖鏍峰仛鐨勩係UN JDK 榪樺甫浜嗕竴涓瘮杈冪畝鍗曠殑璋冭瘯宸ュ叿浠ュ強紺轟緥銆?br> <ul> <li>JVMDI 瀹氫箟浜嗚櫄鎷熸満闇瑕佸疄鐜扮殑鏈湴鎺ュ彛   <li>JDWP 瀹氫箟浜咼VM涓庤皟璇曞鎴風涔嬮棿鐨勯氳鍗忚 <br><br>璋冭瘯瀹㈡埛绔拰JVM 鏃㈠彲浠ュ湪鍚屼竴鍙版満鍣ㄤ笂錛屼篃鍙互榪滅▼璋冭瘯銆侸DK 浼氬寘鍚竴涓粯璁ょ殑瀹炵幇 jdwp.dll錛孞VM 鍏佽鐏墊椿鐨勪嬌鐢ㄥ叾浠栧崗璁唬鏇?nbsp;JDWP銆係UN JDK 鏈変袱縐嶆柟寮忎紶杈撻氳鍗忚錛歋ocket 鍜屽叡浜唴瀛?鍚庤呬粎浠呴拡瀵?nbsp;Windows)錛屼竴鑸垜浠兘閲囩敤 Socket 鏂瑰紡銆?br><br>浣犲彲浠ョ敤涓嬮潰鐨勫弬鏁幫紝浠ヨ皟璇曟ā寮忓惎鍔↗VM<br><br> <div id="ao88c8u" class=code twffan="done"> <pre>  -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n    -Xrunjdwp     JVM 鍔犺澆 jdwp.dll      transport=dt_socket   浣跨敤 Socket 浼犺緭     address      琛ㄧず璋冭瘯绔彛鍙?nbsp;    server=y     琛ㄧず JVM 浣滀負鏈嶅姟鍣紝寤虹珛 Socket     suspend=n    琛ㄧず鍚姩榪囩▼涓紝JVM 涓嶄細鎸傝搗鍘葷瓑寰呰皟璇曞鎴風榪炴帴</pre> </div> <br> <li>JDI 鍒欐槸涓緇凧AVA鎺ュ彛 <br><br>濡傛灉鏄竴涓?nbsp;JAVA 鐨勮皟璇曞鎴風錛屽彧瑕佸疄鐜?nbsp;JDI 鎺ュ彛錛屽埄鐢↗DWP鍗忚錛屼笌铏氭嫙鏈洪氳錛屽氨鍙互璋冪敤JVMDI浜嗐?br></li> </ul> 銆銆涓嬪浘涓?nbsp;JPDA 鐨勫熀鏈灦鏋勶細<br><br> <div id="e8u8q4k" class=code twffan="done"> <pre>                            Components                        Debugger Interface                                 /    |-----------------------|                 /     |     VM       |   debuggee ----(      |-----------------------|  <------- JVMDI - Java VM Debug Interface                 \     |   back-end     |                  \    |-----------------------|                  /           |    comm channel -(           |  <--------------- JDWP - Java Debug Wire Protocol                  \           |                       |---------------------|                       | front-end      |                       |---------------------|  <------- JDI - Java Debug Interface                       |      UI      |                       |---------------------|               </pre> </div> <br>銆銆鍙傝錛?a ><u>http://java.sun.com/j2se/1.4.2/docs/guide/jpda/architecture.html</u></a> <br><br>銆銆Eclipse浣滀負涓涓熀浜?nbsp;JAVA 鐨勮皟璇曞鎴風錛屽埄鐢?nbsp;org.eclipse.jdt.debug Plugin 鎻愪緵浜咼DI 鐨勫叿浣撳疄鐜般侸DI 鎺ュ彛涓昏鍖呭惈涓嬮潰 4 涓寘<br> <pre>com.sun.jdi   com.sun.jdi.connect   com.sun.jdi.event   com.sun.jdi.request </pre> 銆銆鏈枃涓嶅 JDI 榪涜娣卞叆闃愯堪錛岃繖閲岄噸鐐逛粙緇?nbsp;JDI 涓笌鏂偣鐩稿叧鐨勬帴鍙c?br> <ul> <li>com.sun.jdi <br><br>涓昏鏄疛VM(VirtualMachine) 綰跨▼(ThreadReference) 璋冪敤鏍?StackFrame) 浠ュ強綾誨瀷銆佸疄渚嬬殑鎻忚堪銆傚埄鐢ㄨ繖緇勬帴鍙o紝璋冭瘯瀹㈡埛绔彲浠ョ敤綾諱技綾誨弽灝勭殑鏂瑰紡錛屽緱鍒版墍鏈夌被鍨嬬殑瀹氫箟錛屽姩鎬佽皟鐢?nbsp;Class 鐨勬柟娉曘?nbsp;  <li>com.sun.jdi.event <br><br>灝佽浜咼VM 浜х敓鐨勪簨浠訛紝 JVM 姝f槸灝嗚繖浜涗簨浠墮氱煡緇欒皟璇曞鎴風鐨勩備緥濡?nbsp;BreakpointEvent 灝辨槸 JVM 鎵ц鍒版柇鐐圭殑鏃跺欙紝鍙戝嚭鐨勪簨浠訛紱ClassPrepareEvent灝辨槸 Class 琚姞杞芥椂鍙戝嚭鐨勪簨浠躲?nbsp;<br><br> <li>com.sun.jdi.request <br><br>灝佽浜嗚皟璇曞鎴風鍙互鍚?nbsp;JVM鍙戣搗鐨勮姹傘備緥濡?nbsp;BreakpointRequest 鍚?nbsp;JVM 鍙戣搗涓涓坊鍔犳柇鐐圭殑璇鋒眰錛汣lassPrepareRequest 鍚?nbsp;JVM 娉ㄥ唽涓涓被鍔犺澆璇鋒眰錛孞VM 鍦ㄥ姞杞芥寚瀹?nbsp;Class 鐨勬椂鍊欙紝灝變細鍙戝嚭涓涓?nbsp;ClassPrepareEvent 浜嬩歡銆?nbsp;  </li> </ul> 銆銆<strong>JSR-45瑙勮寖</strong><br><br>銆銆JSR-45(Debugging Support for Other Languages)涓洪偅浜涢潪 JAVA 璇█鍐欐垚錛屽嵈闇瑕佺紪璇戞垚 JAVA 浠g爜錛岃繍琛屽湪 JVM 涓殑紼嬪簭錛屾彁渚涗簡涓涓繘琛岃皟璇曠殑鏍囧噯鏈哄埗銆備篃璁稿瓧闈㈢殑鎰忔濇湁鐐逛笉濂界悊瑙o紝浠涔堢畻鏄潪 JAVA 璇█鍛紵鍏跺疄 JSP 灝辨槸涓涓啀濂戒笉榪囩殑渚嬪瓙錛孞SR-45 鐨勬牱渚嬪氨鏄竴涓?nbsp;JSP銆?br><br>銆銆JSP鐨勮皟璇曚竴鐩翠緷璧栦簬鍏蜂綋搴旂敤鏈嶅姟鍣ㄧ殑瀹炵幇錛屾病鏈変竴涓粺涓鐨勬ā寮忥紝JSR-45 閽堝榪欑鎯呭喌錛屾彁渚涗簡涓涓爣鍑嗙殑妯″紡銆傛垜浠煡閬擄紝JAVA 鐨勮皟璇曚腑錛屼富瑕佹牴鎹鍙蜂綔涓烘爣蹇楋紝榪涜瀹氫綅銆備絾鏄?nbsp;JSP 琚紪璇戜負 JAVA 浠g爜涔嬪悗錛孞AVA 琛屽彿涓?nbsp;JSP 琛屽彿鏃犳硶涓涓瀵瑰簲錛屾庢牱瑙e喅鍛紵<br><br>銆銆JSR-45 鏄繖鏍瘋瀹氱殑錛欽SP 琚紪璇戞垚 JAVA 浠g爜鏃訛紝鍚屾椂鐢熸垚涓浠?nbsp;JSP 鏂囦歡鍚嶅拰琛屽彿涓?nbsp;JAVA 琛屽彿涔嬮棿鐨勫搴旇〃(SMAP)銆侸VM 鍦ㄦ帴鍙楀埌璋冭瘯瀹㈡埛绔姹傚悗錛屽彲浠ユ牴鎹繖涓搴旇〃(SMAP)錛屼粠 JSP 鐨勮鍙瘋漿鎹㈠埌 JAVA 浠g爜鐨勮鍙鳳紱JVM 鍙戝嚭浜嬩歡閫氱煡鍓? 涔熸牴鎹搴旇〃(SMAP)榪涜杞寲錛岀洿鎺ュ皢 JSP 鐨勬枃浠跺悕鍜岃鍙烽氱煡璋冭瘯瀹㈡埛绔?br><br>銆銆鎴戜滑鐢?nbsp;Tomcat 5.0 鍋氫釜嫻嬭瘯錛屾湁涓や釜 JSP錛孒ello.jsp 鍜?nbsp;greeting.jsp錛屽墠鑰?nbsp;include 鍚庤呫俆omcat浼氬皢浠栦滑緙栬瘧鎴?nbsp;JAVA 浠g爜(Hello_jsp.java)錛孞AVA Class(Hello_jsp.class) 浠ュ強 JSP 鏂囦歡鍚?琛屽彿鍜?nbsp;JAVA 琛屽彿涔嬮棿鐨勫搴旇〃(SMAP)銆?br><br>銆銆Hello.jsp: <br><br> <div id="6cwywq4" class=code twffan="done"> <pre>            1    <HTML>                2    <HEAD>                3    <TITLE>Hello Example</TITLE>                4    </HEAD>                5    <BODY>                6    <%@ include file="greeting.jsp" %>                7    </BODY>                8    </HTML>              </pre> </div> <br>銆銆greeting.jsp: <br><br>1 Hello There!<P> 2 Goodbye on <%= new java.util.Date() %> <br><br>銆銆JSP 緙栬瘧鍚庝駭鐢熺殑Hello_jsp.java 濡備笅:<br><br> <div id="46yw44e" class=code twffan="done"> <pre>Hello_jsp.java:  1      package org.apache.jsp;  2  3      import javax.servlet.*;  4      import javax.servlet.http.*;  5      import javax.servlet.jsp.*;  6        7      public final class Hello_jsp extends org.apache.jasper.runtime.HttpJspBase  8          implements org.apache.jasper.runtime.JspSourceDependent {  9        10        private static java.util.Vector _jspx_dependants;  11        12        static {  13          _jspx_dependants = new java.util.Vector(1);  14          _jspx_dependants.add("/greeting.jsp");  15        }  16        17        public java.util.List getDependants() {  18          return _jspx_dependants;  19        }  20        21  public void _jspService(HttpServletRequest request, HttpServletResponse response)  22              throws java.io.IOException, ServletException {  23        24          JspFactory _jspxFactory = null;  25          PageContext pageContext = null;  26          HttpSession session = null;  27          ServletContext application = null;  28          ServletConfig config = null;  29          JspWriter out = null;  30          Object page = this;  31          JspWriter _jspx_out = null;  32        33        34          try {  35            _jspxFactory = JspFactory.getDefaultFactory();  36            response.setContentType("text/html");  37            pageContext = _jspxFactory.getPageContext(this, request, response,  38               null, true, 8192, true);  39            application = pageContext.getServletContext();  40            config = pageContext.getServletConfig();  41            session = pageContext.getSession();  42            out = pageContext.getOut();  43            _jspx_out = out;  44        45            out.write("<HTML>    \r\n");  46            out.write("<HEAD>    \r\n");  47            out.write("<TITLE>Hello Example");  48            out.write("</TITLE>    \r\n");  49            out.write("</HEAD>    \r\n");  50            out.write("<BODY>    \r\n");  51            out.write("Hello There!");  52            out.write("<P>    \r\nGoodbye on ");  53            out.write(String.valueOf( new java.util.Date() ));  54            out.write("  \r\n");  55            out.write("    \r\n");  56            out.write("</BODY>    \r\n");  57            out.write("</HTML>  \r\n");  58          } catch (Throwable t) {  59            if (!(t instanceof javax.servlet.jsp.SkipPageException)){  60              out = _jspx_out;  61              if (out != null && out.getBufferSize() != 0)  62                out.clearBuffer();  63              if (pageContext != null) pageContext.handlePageException(t);  64            }  65          } finally {  66     if (_jspxFactory != null) _jspxFactory.releasePageContext ( pageContext);  67          }  68        }  69      }</pre> </div> <br>銆銆Tomcat 鍙堝皢榪欎釜 JAVA 浠g爜緙栬瘧涓?nbsp;Hello_jsp.class錛屼粬浠綅浜庯細 $Tomcat_install_path$\work\Standalone\localhost\_ 鐩綍涓嬨備絾鏄?nbsp;JSP 鏂囦歡鍚?琛屽彿鍜?nbsp;JAVA 琛屽彿鐨勫搴旇〃(浠ヤ笅綆縐癝MAP) 鍦ㄥ摢閲屽憿錛熺瓟妗堟槸錛屽畠淇濆瓨鍦?nbsp;Class 涓傚鏋滅敤 UltraEdit 鎵撳紑榪欎釜 Class 鏂囦歡錛屽氨鍙互鎵懼埌 SourceDebugExtension 灞炴э紝榪欎釜灞炴х敤鏉ヤ繚瀛?nbsp;SMAP銆?br><br>銆銆JVM 瑙勮寖瀹氫箟浜?nbsp;ClassFile 涓彲浠ュ寘鍚?nbsp;SourceDebugExtension 灞炴э紝淇濆瓨 SMAP錛?br><br> <div id="iuy8u84" class=code twffan="done"> <pre>SourceDebugExtension_attribute {    u2 attribute_name_index;    u4 attribute_length;    u1 debug_extension[attribute_length];  }  </pre> </div> <br>銆銆鎴戠敤 javassist 鍋氫簡涓涓祴璇?javassist鍙槸涓涓ソ涓滀笢錛屽畠鍙互鍔ㄦ佹敼鍙楥lass鐨勭粨鏋勶紝JBOSS 鐨?nbsp;AOP灝卞埄鐢ㄤ簡javassist錛岃繖閲屾垜浠彧浣跨敤瀹冭鍙朇lassFile鐨勫睘鎬?<br><br> <div id="q8w6uoa" class=code twffan="done"> <pre>  public static void main(String[] args) throws Exception{     String[]files = {  銆銆銆"E:\\Tomcat5_0_5\\work\\Catalina\\localhost\\_\\org\\apache\\jsp\\Hello_jsp.class",     };                    銆for(int k = 0; k < files.length; k++){    銆 String file = files[k];    銆 System.out.println("Class : " + file);    銆 ClassFile classFile = new ClassFile(new DataInputStream(new FileInputStream(file)));    銆            銆 AttributeInfo attributeInfo = classFile.getAttribute("SourceDebugExtension");    銆 System.out.println("attribute name :" + attributeInfo.getName() + "]\n\n");    銆 byte[]bytes = attributeInfo.get();    銆 String str = new String(bytes);    銆 System.out.println(str);        }  }  </pre> </div> <br>銆銆榪欐浠g爜鏄劇ず浜哠ourceDebugExtension 灞炴э紝浣犲彲浠ョ湅鍒癝MAP 鐨勫唴瀹廣傜紪璇慗SP鍚庯紝SMAP 灝辮鍐欏叆 Class 涓? 浣犱篃鍙互鍒╃敤 javassist 淇敼 ClassFile 鐨勫睘鎬с?br><br>銆銆涓嬮潰灝辨槸 Hello_jsp.class 涓繚瀛樼殑 SMAP 鍐呭:<br><br> <div id="mica866" class=code twffan="done"> <pre>SMAP  E:\Tomcat5_0_5\work\Catalina\localhost\_\org\apache\jsp\Hello_jsp.java  JSP  *S JSP  *F  + 0 Hello.jsp  /Hello.jsp  + 1 greeting.jsp  /greeting.jsp  *L  1:45  2:46  3:47  3:48  4:49  5:50  1#1:51  1:52  2:53  7#0:56  8:57  *E</pre> </div> <br>銆銆棣栧厛娉ㄦ槑JAVA浠g爜鐨勫悕縐幫細Hello_jsp.java錛岀劧鍚庢槸 stratum 鍚嶇О錛?nbsp;JSP銆傞殢鍚庢槸涓や釜JSP鏂囦歡鐨勫悕縐?nbsp;錛欻ello.jsp銆乬reeting.jsp銆備袱涓狫SP鏂囦歡鍏?0琛岋紝浜х敓鐨凥ello_jsp鍏?9琛屼唬鐮併傛渶鍚庝篃鏄渶閲嶈鐨勫唴瀹瑰氨鏄簮鏂囦歡鏂囦歡鍚?琛屽彿鍜岀洰鏍囨枃浠惰鍙風殑瀵瑰簲鍏崇郴(*L 涓?nbsp;*E涔嬮棿鐨勯儴鍒?<br><br>銆銆鍦ㄨ鑼冨畾涔変簡榪欐牱鐨勬牸寮忥細<br><br>銆銆婧愭枃浠惰鍙?nbsp;# 婧愭枃浠朵唬鍙?閲嶅嬈℃暟 : 鐩爣鏂囦歡寮濮嬭鍙?鐩爣鏂囦歡琛屽彿姣忔澧炲姞鐨勬暟閲?nbsp;<br>(InputStartLine # LineFileID , RepeatCount : OutputStartLine , OutputLineIncrement)<br><br>銆銆婧愭枃浠惰鍙?InputStartLine) 鐩爣鏂囦歡寮濮嬭鍙?OutputStartLine) 鏄繀欏葷殑銆備笅闈㈡槸瀵硅繖涓猄MAP鍏蜂綋鐨勮鏄庯細<br><br> <div id="4wqus8a" class=code twffan="done"> <pre>  1:45  2:46  3:47  3:48  4:49  5:50(娌℃湁婧愭枃浠朵唬鍙鳳紝榛樿涓篐ello.jsp)  銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆銆寮濮嬭鍙?nbsp;銆銆緇撴潫琛屽彿  Hello.jsp:    1 ->  Hello_jsp.java:    45                2 ->                     46                3 ->                     47           48                4 ->                     49                5 ->                     50  1#1:51  1:52  2:53(1#1琛ㄧず greeting.jsp 鐨勭1琛?  greeting.jsp:    1 ->  Hello_jsp.java:       51           52                   2 ->                     53             7#0:56  8:57(7#0琛ㄧず Hello.jsp 鐨勭7琛?  Hello.jsp:     7 ->  Hello_jsp.java:       56                 8 ->                     57  </pre> </div> 銆銆<strong>寮鍙戜竴涓狫SP緙栬緫鍣?/strong><br><br>銆銆Eclipse 鎻愪緵浜?nbsp;TextEditor錛屼綔涓烘枃鏈紪杈戝櫒鐨勭埗綾匯傜敱浜?nbsp;Editor 鐨勫紑鍙戜笉鏄湰鏂囩殑閲嶇偣錛屼笉鍋氬叿浣撹榪般傛垜浠彲浠ュ埄鐢?nbsp;Eclipse 鐨?nbsp;Plugin 欏圭洰鍚戝錛岀敓鎴愪竴涓畝鍗曠殑 JSP 緙栬緫鍣細<br><br>銆銆(1)鐐瑰嚮 File 鑿滃崟錛孨ew -> Project -> Plug-in Project 錛?br><br>銆銆(2)杈撳叆欏圭洰鍚嶇О JSP_DEBUG錛屼笅涓姝ワ紱<br><br>銆銆(3)杈撳叆 plugin ID 錛?nbsp;com.jsp.debug <br>銆銆銆銆Plugin Class name 錛?nbsp;com.jsp.debug.JSP_DebugPlugin<br><br>銆銆(4)閫夋嫨鐢ㄦā鏉垮垱寤?br><br>銆銆浣跨敤 Plug-in with editor錛岃緭鍏?br><br>銆銆Java Package Name 錛歝om.jsp.editors<br><br>銆銆Editor Class Name 錛欽SPEditor<br><br>銆銆File extension 錛歫sp<br><br>銆銆涓涓?nbsp;jsp editor 灝變駭鐢熶簡銆?br><br>銆銆榪愯榪欎釜Plugin錛屾柊寤轟竴涓狫AVA欏圭洰錛屾柊寤轟竴涓?nbsp;Hello.jsp 鍜?nbsp;greeting.jsp錛屽湪 Navigator 瑙嗗浘鍙屽嚮 jsp錛岃繖涓猠ditor灝辨墦寮浜嗐?br><br>銆銆<strong>鍦↗SP緙栬緫鍣ㄤ腑璁劇疆鏂偣</strong><br><br>銆銆鍦ㄧ紪杈戝櫒涓坊鍔犳柇鐐圭殑鎿嶄綔鏂瑰紡鏈変袱縐嶏紝涓縐嶆槸鍦ㄧ紪杈戝櫒宸︿晶鍨傜洿鏍囧昂涓婂弻鍑伙紝鍙︿竴縐嶆槸鍦ㄥ乏渚у瀭鐩存爣灝轟笂鐐瑰嚮榧犳爣鍙抽敭錛岄夋嫨鑿滃崟"娣誨姞/鍒犻櫎鏂偣"銆?br><br>銆銆鍦?nbsp;Eclipse 鐨勫疄鐜頒腑錛屾坊鍔犳柇鐐瑰疄闄呬笂灝辨槸涓?nbsp;IFile 娣誨姞涓涓猰arker 錛岀被鍨嬫槸IBreakpoint.BREAKPOINT_MARKER錛岀劧鍚庡皢鏂偣娉ㄥ唽鍒?nbsp;BreakpointManager銆?br><br>銆銆BreakpointManager 灝嗕駭鐢熶竴涓?nbsp;BreakpointRequest錛岄氱煡姝e湪榪愯鐨凧VM Target錛屽鏋滄鏃惰繕娌℃湁鍚姩 JVM錛屼細鍦?nbsp;JVM 鍚姩鐨勬椂鍊欙紝灝嗘墍鏈夋柇鐐逛竴璧烽氱煡 JVM Target銆?br><br>銆銆娣誨姞鏂偣浣跨敤涓涓?nbsp;AbstractRulerActionDelegate錛岄噸杞?nbsp;createAction 鏂規(guī)硶錛岃繑鍥炰竴涓?nbsp;IAction ManageBreakpointRulerAction鍔ㄤ綔錛?br><br> <div id="88k4ogg" class=code twffan="done"> <pre>public class ManageBreakpointRulerActionDelegate extends AbstractRulerActionDelegate{   protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {    return new ManageBreakpointRulerAction(rulerInfo, editor);   }  }  </pre> </div> <br>銆銆涓轟簡灝?nbsp;ManageBreakpointRulerActionDelegate 娣誨姞鍒版枃鏈紪杈戝櫒宸︿晶鏍囧昂鐨勯紶鏍囧彸閿彍鍗曪紝騫朵笖鑳藉澶勭悊宸︿晶鏍囧昂鐨勯紶鏍囧弻鍑諱簨浠訛紝鍦?nbsp;plugin.xml 涓姞鍏ュ畾涔夈?br><br>銆銆澶勭悊鍙屽嚮浜嬩歡錛?br><br> <div id="8844o4k" class=code twffan="done"> <pre><extension  point="org.eclipse.ui.editorActions">  銆<editorContribution        targetID="com.jiaoly.editors.JSPEditor"        id="com.jiaoly.debug.ManageBreakpointRulerActionDelegate">  銆銆銆<action           label="娣誨姞/鍒犻櫎鏂偣"           class="com.jiaoly.debug.ManageBreakpointRulerActionDelegate"           actionID="RulerDoubleClick"           id="com.jiaoly.debug.ManageBreakpointRulerActionDelegate">  銆銆銆</action>  銆</editorContribution>  </extension>         </pre> </div> <br>銆銆娣誨姞鍙抽敭鑿滃崟錛?br><br> <div id="6o84kiy" class=code twffan="done"> <pre><extension point="org.eclipse.ui.popupMenus">   <viewerContribution       targetID="#TextRulerContext"       id="com.jiaoly.debug.ManageBreakpointRulerActionDelegate">       <action         label="娣誨姞/鍒犻櫎鏂偣"         class="com.jiaoly.debug.ManageBreakpointRulerActionDelegate"         menubarPath="addition"         id="com.jiaoly.debug.ManageBreakpointRulerActionDelegate">      </action>   </viewerContribution>  </extension>  </pre> </div> <br>銆銆ManageBreakpointRulerAction 鏄疄闄呮坊鍔犳柇鐐圭殑Action錛屽疄鐜頒簡 IUpdate 鎺ュ彛錛岃繖涓狝ction鐨勫伐浣滐紝灝辨槸鍒ゆ柇褰撳墠閫変腑琛屾槸鍚﹀瓨鍦ㄦ柇鐐圭被鍨嬬殑 Marker錛屽鏋滀笉瀛樺湪鍒涘緩涓涓紝濡傛灉瀛樺湪錛屽皢瀹冨垹闄ゃ?br><br> <div id="64u446m" class=code twffan="done"> <pre>public class ManageBreakpointRulerAction extends Action implements IUpdate{              private IVerticalRulerInfo rulerInfo;       private ITextEditor textEditor;             private String BPmarkerType ;     //褰撶偣Marker鐨勭被鍨?nbsp;      private List allMarkers;       //褰撳墠榧犳爣鐐瑰嚮琛屾墍鏈夌殑Marker       private String addBP;   //Action 鐨勬樉紺哄悕縐?nbsp;       public ManageBreakpointRulerAction(IVerticalRulerInfo ruler, ITextEditor editor){       this.rulerInfo = ruler;       this.textEditor = editor;       BPmarkerType = IBreakpoint.BREAKPOINT_MARKER;       addBP = "娣誨姞/鍒犻櫎鏂偣"; //$NON-NLS-1$       setText(this.addBP);  }        public void update() {    this.allMarkers = this.fetchBPMarkerList();   }        public void run(){   if(this.allMarkers.isEmpty())     this.addMarker();   else     this.removeMarkers(this.allMarkers);  }  }  </pre> </div> </div> <img src ="http://www.tkk7.com/coundy/aggbug/117628.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/coundy/" target="_blank">Coundy</a> 2007-05-15 15:50 <a href="http://www.tkk7.com/coundy/articles/117628.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://cykj-tech.com" target="_blank">成人性做爰aaa片免费看</a>| <a href="http://805ios.com" target="_blank">亚洲AV成人无码网站</a>| <a href="http://ai-xian.com" target="_blank">免费看男女下面日出水视频</a>| <a href="http://jack-fx.com" target="_blank">亚洲最大的成网4438</a>| <a href="http://51ruilon.com" target="_blank">亚洲国产AV无码一区二区三区</a>| <a href="http://taoh2517.com" target="_blank">91香蕉成人免费网站</a>| <a href="http://yctbhb.com" target="_blank">麻豆狠色伊人亚洲综合网站</a>| <a href="http://91sebo.com" target="_blank">免费观看黄网站在线播放</a>| <a href="http://fsrongxing.com" target="_blank">亚洲熟妇AV日韩熟妇在线</a>| <a href="http://kyqp0033.com" target="_blank">女人让男人免费桶爽30分钟</a>| <a href="http://dw168cn.com" target="_blank">亚洲AV成人无码网站</a>| <a href="http://52ku6.com" target="_blank">亚洲一区二区三区国产精品</a>| <a href="http://lswqn.com" target="_blank">9i9精品国产免费久久</a>| <a href="http://023439.com" target="_blank">亚洲成a人片77777老司机</a>| <a href="http://fsbj168.com" target="_blank">亚洲免费福利视频</a>| <a href="http://fuzhiwushu.com" target="_blank">亚洲熟妇无码AV不卡在线播放 </a>| <a href="http://cc45987.com" target="_blank">99精品免费观看</a>| <a href="http://www52a.com" target="_blank">国产免费卡一卡三卡乱码</a>| <a href="http://uiui6.com" target="_blank">边摸边吃奶边做爽免费视频99 </a>| <a href="http://guanxianedu.com" target="_blank">国产精品福利在线观看免费不卡</a>| <a href="http://7788xxx.com" target="_blank">国产成人精品日本亚洲专区 </a>| <a href="http://sdnuoyuan.com" target="_blank">亚洲精品久久无码av片俺去也</a>| <a href="http://jx-dirui.com" target="_blank">国产精品无码一区二区三区免费 </a>| <a href="http://ju7776.com" target="_blank">人妻仑乱A级毛片免费看</a>| <a href="http://hongyue8.com" target="_blank">国产AⅤ无码专区亚洲AV</a>| <a href="http://jj5c.com" target="_blank">欧美日韩亚洲精品</a>| <a href="http://8aa3.com" target="_blank">区三区激情福利综合中文字幕在线一区亚洲视频1</a>| <a href="http://6969aaa.com" target="_blank">无码日韩人妻AV一区免费l </a>| <a href="http://k8h9.com" target="_blank">一级毛片免费在线播放</a>| <a href="http://pecbj.com" target="_blank">久久久久亚洲精品成人网小说</a>| <a href="http://sky233.com" target="_blank">国产精品免费观看</a>| <a href="http://wumase.com" target="_blank">日日狠狠久久偷偷色综合免费</a>| <a href="http://szicon.com" target="_blank">亚洲AV无码一区二区二三区入口</a>| <a href="http://bjgelinhotel.com" target="_blank">亚洲高清视频免费</a>| <a href="http://szzdjl.com" target="_blank">青草青草视频2免费观看</a>| <a href="http://zz198.com" target="_blank">亚洲综合激情视频</a>| <a href="http://33338x.com" target="_blank">日韩精品电影一区亚洲</a>| <a href="http://513573.com" target="_blank">免费国产黄网站在线看</a>| <a href="http://jhmydxx.com" target="_blank">亚洲人成电影在在线观看网色</a>| <a href="http://240842.com" target="_blank">午夜两性色视频免费网站</a>| <a href="http://tuopumao.com" target="_blank">中文字幕 亚洲 有码 在线 </a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>