Disconnected from the target VM, address: ‘127.0.0.1:‘, transport: ‘socket‘(权威+靠谱)

概述

IDEA很强大,也非常吃内存,有时会因为各种原因如蓝屏(Windows开发者),断电(非常少见),内存不足(表现为卡死,通过任务管理器强杀进程)等导致IDEA不正常退出。

现象

某次IDEA非正常原因杀掉进程退出(事后的反思,上午还好好的,为啥下午就出问题),重启IDEA后,启动应用失败,项目包括3个war包应用,另外两个应用也是一模一样的问题,报错如下:
Disconnected from the target VM, address: '127.0.0.1:65198', transport: 'socket'

浪费近2个小时。。想到一天只有8个工作小时,算是狠严重的工作效率事故。网络上类似的文章也非常多,包括中文和英文,但大多数都是抄来抄去,解决不了我的问题。。

因此,虽然之前写过IDEA相关blog(如果有兴趣,可以去看看专栏IDE),最后还是记录下此文。。

解决过程

  1. 检查应用的最近提交记录,或未提交的本地修改(将本地已修改的文件Git Stash暂存,回到发生事故之前);
  2. 电脑重启两次无效,可以杀掉进程,清理电脑缓存等;
  3. IDEA重启,可以说是解决各种软件问题的百试不爽大法;
  4. 清除缓存并重新检索,indexing是非常耗时的操作;
  5. maven cleanmvn spring-boot:run;通过IDEA的Debug启动失败,试试Maven启动呢;
  6. 检查logback.xml文件配置,网络资料有说因为导致应用启动失败的原因没有打印在控制台,所以要首先定位启动失败的原因;
  7. 清除断点,有资料说和断点有关,网络上各种抄来抄去的解决方法都不可行的情况下,做的最后尝试。。

全部都不行。。各种尝试,都告以失败。。沮丧之至。。

最后的解决方案:
删除项目根目录下面的.idea文件夹,并删除此根目录及其下子文件夹下面的全部*.iml文件(有子目录是因为项目是多module应用),删除,重新导入,此时项目无法被识别为Maven项目,打开右侧Maven面板,reimport。

解决问题!!!

类似事故

后来又出现类似的问题
在这里插入图片描述
多模块应用,一个模块应用启动成功,但是另外一个模块启动失败。删除本地文件夹targetiml文件,截图做示意作用:
在这里插入图片描述
重新导入Maven项目:
在这里插入图片描述

解决方案

  1. 先尝试删除iml文件,即把maven project从IDEA管理的项目中移除,后面需要重新import maven project。注意:iml文件是module级别;
  2. 不行的话,再删除target文件夹;
  3. 还是不行的话,最后才考虑删除.idea隐藏文件夹。注意:idea文件夹是git repository级别;

注意事项

因为删除.idea文件夹,意味着:

  1. 删除项目的配置信息,如debug configuration;
  2. Git Stash信息,未提交的工作到一般的本地修改;
  3. 内嵌数据库Database执行器console执行历史SQL语句记录。

结论:Database执行器console执行历史SQL语句记录在文件夹:C:\Users\<awesome_me>\AppData\Roaming\JetBrains\IntelliJIdea2020.3\consoles\db下面。

附:找回Database执行器console执行历史SQL语句记录方法,
在这里插入图片描述
IDEA会自动备份console的修改记录,右键:
在这里插入图片描述
找到本地的修改记录:
在这里插入图片描述
结论:
IDEA确实很强大,但是偶尔抽风,浪费时间很头疼。。
为了减少这样的浪费时间的事故,正常操作IDEA,比如:不要杀进程;退出IDEA时,等待debug模式停掉;周五下班时,退出IDEA等等。

参考

posted @ 2021-11-15 20:35  johnny233  阅读(598)  评论(0编辑  收藏  举报  来源