解决PhpStorm64不能启动的问题
下面先给大家介绍下PhpStorm64不能启动问题的解决思路,详情如下所示:
用CSDN已经几年,却从来没有试过自己写内容,正逢IDE出问题无法解决,来写写博客积累一下我贫乏的写作经验。
作为一个phper,PhpStorm这款IDE无疑是功能最强大的。原先使用sublime的时候觉得界面好看就够了,而接触到PhpStorm以后我就基本不把sublime作为主力了(可能是我没装什么插件)。
可以方便查看函数参数信息,检错高亮等必备功能
远程同步服务器代码
docker容器/镜像直接可视化,并且支持docker-compose
自带git的可视化,都不用安装其他可视化工具了
还有很多想不起来
在使用两个月Phpstorm后,成为了重度依赖患者,为了能流畅打开两个项目CV,并且打开多个chrome窗口看文档,我还把笔记本的单通道8g内存换成了16g。
但是昨天突然直接打不开,而且还不报错!
就是那种点了一点反应都没有,进程建立直接结束
但是32位在安装JDK32位以后是可以正常启动得,只有64位的无法启动
而且不仅是PhpStorm64.exe打不开,PyCharm64也打不开了
在思考多次是什么导致打不开以后以下是我试过的一些方法和排查思路:
1、删除\AppData\Roaming\JetBrains\PhpStorm2020.1
首先Google一下看看出现相同问的的人都是怎么解决的
大都是要删除这个文件夹重启\AppData\Roaming\JetBrains\PhpStorm{version}
想了想可能是我用服务器激活或者用过crack补丁的关系,涉及到这个文件。
所以删除了好几次,以至于重装Phpstorm,但是最后都没有效果。
2、重装JDK
打开32位的版本会报错,需要下载32位对应的JDK
我的系统版本位为win10 64位专业版,自然要使用64位的启动方式,但是64位的启动直接不报错也没有任何响应,于是选择重装JDK.
安装卸载试了试8,9,11版本,没一个可以运行64位
3、卸载更新
思索了一下可能是最近windows更新造成的不兼容,毕竟以前也有过,更新完我的数位板驱动就不行了,最后还是卸载更新解决的。
要想win10稳定果然还是不能频繁更新
垃圾windows
4、 审查phpstorm.bat
这个bat文件应该是监控程序运行,并输出错误日志用的,在末尾加上pause查看完整的运行周期
- "%JAVA_EXE%" %ALL_JVM_ARGS% -cp "%CLASS_PATH%" com.intellij.idea.Main %*
- SET PATH=%OLD_PATH%
- pause
直接点击运行一下
- OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
- 2020-06-20 12:34:52,590 [ 3800] WARN - Container.ComponentManagerImpl - Do not use constructor injection (requestorClass=org.jetbrains.plugins.phpstorm.PhpStormInitialConfigurator)
- javassist.CannotCompileException: by java.lang.reflect.InvocationTargetException
- at javassist.util.proxy.DefineClassHelper$JavaOther.defineClass(DefineClassHelper.java:220)
- at javassist.util.proxy.DefineClassHelper$Java11.defineClass(DefineClassHelper.java:52)
- at javassist.util.proxy.DefineClassHelper.toClass(DefineClassHelper.java:260)
- at javassist.ClassPool.toClass(ClassPool.java:1240)
- at javassist.ClassPool.toClass(ClassPool.java:1098)
- at javassist.ClassPool.toClass(ClassPool.java:1056)
- at javassist.CtClass.toClass(CtClass.java:1298)
- at com.mallowigi.idea.MTHackComponent.hackScrollbars(MTHackComponent.java:147)
- at com.mallowigi.idea.MTHackComponent.<clinit>(MTHackComponent.java:58)
- at java.base/java.lang.Class.forName0(Native Method)
- at java.base/java.lang.Class.forName(Class.java:398)
- at com.intellij.serviceContainer.ComponentManagerImpl.createListener(ComponentManagerImpl.kt:713)
- at com.intellij.util.messages.impl.MessageBusImpl.subscribeLazyListeners(MessageBusImpl.java:204)
- at com.intellij.util.messages.impl.MessageBusImpl.calcSubscribers(MessageBusImpl.java:320)
- at com.intellij.util.messages.impl.MessageBusImpl.getTopicSubscribers(MessageBusImpl.java:366)
- at com.intellij.util.messages.impl.MessageBusImpl.postMessage(MessageBusImpl.java:344)
- at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:396)
- at com.intellij.util.messages.impl.MessageBusImpl.lambda$createTopicHandler$3(MessageBusImpl.java:237)
- at com.sun.proxy.$Proxy33.appClosing(Unknown Source)
- at com.intellij.openapi.application.impl.ApplicationImpl.doExit(ApplicationImpl.java:606)
- at com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:589)
- at com.intellij.openapi.application.impl.ApplicationImpl.restart(ApplicationImpl.java:536)
- at com.intellij.openapi.application.ex.ApplicationEx.restart(ApplicationEx.java:112)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.base/java.lang.reflect.Method.invoke(Method.java:566)
- at fuck_the_regulations_v321.ev.run(ev.java:42)
- at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
- at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
- at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
- at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
- at java.base/java.security.AccessController.doPrivileged(Native Method)
- at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
- at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
- at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:416)
- at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
- at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
- at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
- at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
- at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
- at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
- at java.base/java.security.AccessController.doPrivileged(Native Method)
- at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
- at java.desktop/java.awt.Dialog.show(Dialog.java:1063)
- at java.desktop/java.awt.Component.show(Component.java:1734)
- at java.desktop/java.awt.Component.setVisible(Component.java:1681)
- at java.desktop/java.awt.Window.setVisible(Window.java:1031)
- at java.desktop/java.awt.Dialog.setVisible(Dialog.java:998)
- at fuck_the_regulations_v321.eB.c(eB.java:127)
- at fuck_the_regulations_v321.eK.a(eK.java:4)
- at fuck_the_regulations_v321.eK.<init>(eK.java:15)
- at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
- at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
- at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
- at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
- at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:48)
- at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:660)
- at com.intellij.serviceContainer.MyComponentAdapter.doCreateInstance(MyComponentAdapter.kt:35)
- at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:115)
- at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:69)
- at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:62)
- at com.intellij.serviceContainer.ComponentManagerImpl.createComponents(ComponentManagerImpl.kt:261)
- at com.intellij.openapi.application.impl.ApplicationImpl.lambda$loadComponents$5(ApplicationImpl.java:334)
- at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:166)
- at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:627)
- at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:572)
- at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
- at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:153)
- at com.intellij.openapi.application.impl.ApplicationImpl.loadComponents(ApplicationImpl.java:334)
- at com.intellij.idea.ApplicationLoader$startApp$6$loadComponentInEdtFuture$1.run(ApplicationLoader.kt:184)
- at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
- at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
- at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
- at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:310)
- at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)
- at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128)
- at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
- at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184)
- at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
- at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
- at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
- at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
- at java.base/java.security.AccessController.doPrivileged(Native Method)
- at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
- at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
- at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:416)
- at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
- at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
- at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
- at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
- at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
- at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
- Caused by: java.lang.reflect.InvocationTargetException
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.base/java.lang.reflect.Method.invoke(Method.java:566)
- at javassist.util.proxy.DefineClassHelper$JavaOther.defineClass(DefineClassHelper.java:214)
- ... 92 more
- Caused by: java.lang.LinkageError: loader com.intellij.util.lang.UrlClassLoader @754ba872 attempted duplicate class definition for com.intellij.ui.components.ScrollBarPainter$Thumb. (com.intellij.ui.components.ScrollBarPainter$Thumb is in unnamed module of loader com.intellij.util.lang.UrlClassLoader @754ba872, parent loader 'platform')
- at java.base/java.lang.ClassLoader.defineClass1(Native Method)
- at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
- ... 97 more
大致看了一下,不太懂Java,可能是环境依赖问题。
调试了一下phpstorm.exe.vmoptions文件最大最小运行内存等设置项,问题并没有得到解决,看来并不是内存溢出问题造成的,毕竟我升级过内存
- -server
- -Xms128m
- -Xmx512m
- -XX:ReservedCodeCacheSize=240m
- -XX:+UseConcMarkSweepGC
- -XX:SoftRefLRUPolicyMSPerMB=50
- -ea
- -XX:CICompilerCount=2
- -Dsun.io.useCanonPrefixCache=false
- -Djdk.http.auth.tunneling.disabledSchemes=""
- -XX:+HeapDumpOnOutOfMemoryError
- -XX:-OmitStackTraceInFastThrow
- -Djdk.attach.allowAttachSelf=true
- -Dkotlinx.coroutines.debug=off
- -Djdk.module.illegalAccess.silent=true
- -javaagent:{path}\jetbrains-agent.jar
5、使用win10沙盒,重装前试试是不是升级兼容带来的问题
于是正好使用以下windows 的新功能
在安装好以后,搜索sandbox,并打开:
我还能说啥呢(在根据网上所说方法开启VT、重装等还是这个错误)
6、更新win10 2004 最新版本
以毒攻毒,看看问题在新版本有没有解决,我的1903想直接用OTA更新还是不行的,可能是还没有开始推送
于是就去MSDN,i tell you 下载新的版本,iso加载后直接打开setup.exe自动安装就好
安装好2004版本后感觉没啥太大变化,Phpstorm还是打不开,唯一区别就是sandbox可以用了,不会报错,大概是更新支持了intel的VT不仅限于AMD了。
使用sandbox运行Phpstorm64完全没有问题,说明不是版本更新造成的,而可能是一些环境依赖出错了。
对于本机环境排查我完全没有什么思路,能重装的都重装了,没有办法,只能重置一下系统,删除所有设置和文件,问题才可以解决。
而我重置系统才半年不到,又得重新安装很多软件。。