《IDEA问题库》常见问题及解决方案,提升开发效率(五)
问题:断点不可用 No executable code found
问题
在Intellij下的项目,更新SVN之后dubug启动项目,发现某些代码打断点显示一个红色的叉子,并且也一直无法进入所打的断点中。
鼠标移动红色的叉子上后显示:“No executable code found at line” 。
image-20211230203208212
解决方案
1、clean整个项目;2、Ctr+F9 执行make project;3、重新启动项目,debug可以正常使用;
原因分析:由于SVN更新下来的代码Intellij没有进行重新编译,或者Intellij并不认为部分改动的代码是由它编译生成,所以造成不可断点。「强制Intellij进行清理重新编译代码即可解决此问题」 。
问题:tomcat热部署没反应
问题
为了提高调试时的编译效率,经常在配置tomcat时,会开启热部署。但同事配置后,一直没有生效,很影响效率。求助于博主,博主看了下同事的IDEA相关配置,后面定位到了问题。
同事是有按照要求配置tomcat,如下图所示会配置这两行为:update classes and resources
解决方案
同事启动时,是用run模式启动的,这是有问题的,要用debug模式启动。
后面同事用debug模式启动后,热部署还是没有生效。
查了下资料,Eclipse 默认就支持了自动编译,而在 Intellij IDEA 中默认是关闭了自动编译的。所以要开启自动编译
File–>settings–>如图
配置了自动编译后,让同事重新用debug模式启动,热部署就成功了。
问题:JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509)
问题
ERROR: transport library not found: dt_socket
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509)
JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [debugInit.c:750]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)
解决方案
按JDK版本统一配置
file-->setting
第一步:file-->setting-->build->compiler
如图操作
image-20211109233834675
image-20211109233649372
第二步:设置module里的版本
image-20211109233607965
file->Project Structure
image-20211109233813378
文章转自公众号:小虚竹JAVA之术