@maohou Intellij Idea 嵌入远程应用服务器并调试

 

第一步: Run --- > Edit Configurations

@maohou Intellij Idea 嵌入远程应用服务器并调试
 
 
第二步:选择新建Remote配置

@maohou Intellij Idea 嵌入远程应用服务器并调试
 
第三步:配置Remote信息,包括基本名称和端口号

@maohou Intellij Idea 嵌入远程应用服务器并调试
 
其中端口号,需要与外嵌Tomcat\bin\catalina.bat 中的JPDA_ADDRESS设置的端口号,保持一致,如下图:

@maohou Intellij Idea 嵌入远程应用服务器并调试
 
第四步:命令行启动catalina.bat  
前提:需要将Tomcat_home\bin 加入path中,一般做法是将tomcat根目录定义成 CATALINA_HOME,然后将%CATALINA_HOME%\bin加入path中。

@maohou Intellij Idea 嵌入远程应用服务器并调试
@maohou Intellij Idea 嵌入远程应用服务器并调试
 
 
启动:
 
cmd运行,
 
输入:catalina jpda run;

@maohou Intellij Idea 嵌入远程应用服务器并调试
 
@maohou Intellij Idea 嵌入远程应用服务器并调试
 
异常情况处理  001 : 
java.lang.OutOfMemoryError: PermGen space
 
解决方法:在catalina.bat的
echo Using CATALINA_BASE:   "%CATALINA_BASE%"
上面加入一行
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=512m -XX:MaxPermSize=1024m
 
 
 
第五步:Idea 启动Remote调试。

@maohou Intellij Idea 嵌入远程应用服务器并调试
 
 
到此,便可以用Idea 调试外嵌Tomcat的应用了。可以试着在程序中打断点,便可以看到已经能顺利进入断点了。
 
 
本地用于调试本地程序,其实将配置Remote中的Host 与Prot改为远程的IP和端口,并可以顺利的调试远程软件,无需将数据源换来换去,适用于调试测试反馈的问题定位。