1. è¿ç¨debugè°è¯java代ç
1.1 主å¨è¿æ¥è°è¯
é¦å
éè¦è¿ç¨æå¡é
ç½®å¯å¨èæ¬:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
å¦ææ¯å¯å¨jarå
ï¼æ令ï¼
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar
è¿é-Xdebugæ¯éç¥JVMå·¥ä½å¨DEBUG模å¼ä¸ï¼-Xrunjdwpæ¯éç¥JVM使ç¨(java debug wire protocol)æ¥è¿è¡è°è¯ç¯å¢ã
transportæ¯çå¬Socket端å£è¿æ¥æ¹å¼ï¼ä¹å¯ä»¥dt_shmemå
±äº«å
åæ¹å¼ï¼ä½éäºwindowsæºå¨ï¼å¹¶ä¸æå¡æä¾ç«¯åè°è¯ç«¯åªè½ä½äºåä¸å°æºï¼ã
server=y表示å½åæ¯è°è¯æå¡ç«¯ï¼=n表示å½åæ¯è°è¯å®¢æ·ç«¯ãsuspend=n表示å¯å¨æ¶ä¸ä¸æï¼å¦æå¯å¨æ¶ä¸æï¼ä¸è¬ç¨äºè°è¯å¯å¨ä¸äºçé®é¢ï¼ã
address=8000表示æ¬å°çå¬8000端å£ã
è¿ç¨æå¡ï¼tomcat/jbossï¼å¯å¨æååï¼æ¬å°Eclipse对éè¦è°è¯çå°æ¹æä¸æç¹ï¼
ç¶å项ç®å³é®å¯å¨è¿ç¨è°è¯ï¼Debug as->Debug Configurations->Remote Java Applicationã
Host为è¿ç¨ä¸»æºIPï¼Port为è¿ç¨çå¬è°è¯ç«¯å£ï¼Connection Type为ï¼Standard(Socket Attach)ï¼
ç¹å»Debugï¼ç¶åææç¹ï¼è¿ç¨æå¡è¿è¡å°æç¹å¤æ¬å°å°±ä¼ä¸æï¼ç¶åè¿è¡è°è¯ã
1.2 被å¨è¿æ¥è°è¯
é¦å
éè¦Eclipseé
ç½®çå¬ï¼å¦ä¸»å¨è¿æ¥è°è¯çEclipseé
ç½®å¾çï¼Connection Typeéæ©ï¼
Standard(Socket Listen)ï¼é
ç½®æ¬å°çå¬ç«¯å£ï¼æ¯å¦é»è®¤8000ãç¹å»Debugå¼å§çå¾
è¿ç¨è¿æ¥è°è¯ã
ç¶åé
ç½®è¿ç¨æå¡å¯å¨èæ¬ï¼
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y"
å¦ææ¯è°è¯jarå
ï¼æ令ï¼
java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y -jar remoting-debug.jar
åæ°å«ä¹å主å¨è¿æ¥è°è¯ä¸æ ·ï¼åªæ¯è¿ésuspend=y表示å¯å¨æ¶å°±ä¸æï¼éè¦è¿æ¥æ¬å°IDEè°è¯å¯å¨ã
address=ip:portï¼ipéè¦ä¿®æ¹ä¸ºæ¬å°ç对å¤IPã
è¿æ ·è¿ç¨é¡¹ç®å¯å¨æ¶å°±è¿æ¥å°æ¬å°ï¼æ¹ä¾¿è°è¯é¡¹ç®å¯å¨ä¸äºçé®é¢ã
温馨提示:内容为网友见解,仅供参考