作為一個phper,PhpStorm這款IDE無疑是功能最強大的。原先使用sublime的時候覺得界面好看就夠了,而接觸到PhpStorm以後我就基本不把sublime作為主力了(可能是我沒裝什麼插件)。
可以方便查看函數參數信息,檢錯高亮等必備功能
遠程同步服務器代碼
docker容器/鏡像直接可視化,並且支持docker-compose
自帶git的可視化,都不用安裝其他可視化工具了
。。。還有很多想不起來
在使用兩個月Phpstorm後,成為了重度依賴患者,為了能流暢打開兩個項目CV,並且打開多個chrome窗口看文檔,我還把筆記本的單通道8g內存換成了16g。
但是昨天突然直接打不開,而且還不報錯!
就是那種點了一點反應都沒有,進程建立直接結束
但是32位在安裝JDK32位以後是可以正常啟動得,只有64位的無法啟動
而且不僅是PhpStorm64.exe打不開,PyCharm64也打不開了
在思考多次是什麼導致打不開以後以下是我試過的一些方法和排查思路:
1、刪除AppDataRoamingJetBrainsPhpStorm2020.1
首先Google一下看看出現相同問的的人都是怎麼解決的
大都是要刪除這個文件夾重啟AppDataRoamingJetBrainsPhpStorm{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.(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.(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還是打不開
[ljg58026 ] 解決PhpStorm64不能啟動的問題已經有286次圍觀