Netbeans 崩溃

Net Beans Crashes

我对这类问题很陌生。我的 Net Beans IDE 由于我的显卡崩溃了!我的机器上安装了 2GB 内存的 AMD Radeon R9 M200X 系列显卡。每当我尝试在 Net Beans IDE 中创建一个新的 JFrame 时;它突然强力崩溃。我还有 Intel 高清显卡(可能是 default/built 卡)!我是通过卸载 AMD 显卡驱动程序并在 INTEL 显卡上使用我的 Net Beans IDE 才知道这个问题的! 问题很奇怪,当我有 ADM Radeon 时无法使用 IDE! 错误日志文件如下:


 A fatal error has been detected by the Java Runtime Environment:

  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=6496, tid=6980

 JRE version: Java(TM) SE Runtime Environment (8.0_65-b17) (build 1.8.0_65-b17)
 Java VM: Java HotSpot(TM) 64-Bit Server VM (25.65-b01 mixed mode windows-amd64 compressed oops)
 Problematic frame:
 C  0x0000000000000000

 Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

 If you would like to submit a bug report, please visit:
   http://bugreport.java.com/bugreport/crash.jsp
 The crash happened outside the Java Virtual Machine in native code.
 See problematic frame for where to report the bug.


---------------  T H R E A D  ---------------

Current thread (0x00000000166e9800):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=6980, stack(0x000000001ade0000,0x000000001afe0000)]

siginfo: ExceptionCode=0xc0000005, ExceptionInformation=0x0000000000000008 0x0000000000000000

Registers:
RAX=0x000000001afdd2f4, RBX=0x000007fefed60000, RCX=0x000000001afdd2f0, RDX=0x0000000000000000
RSP=0x000000001afdd2a8, RBP=0x000000001afdd3b0, RSI=0x000007fef479fa00, RDI=0x000000001afdd920
R8 =0x0000000000000140, R9 =0x0000000000000006, R10=0x0000000000000000, R11=0x000000001afdd2f4
R12=0x000000001afddb90, R13=0x000007fefb7953cc, R14=0x0000000000000000, R15=0x00000000166e9800
RIP=0x0000000000000000, EFLAGS=0x0000000000010213

Top of Stack: (sp=0x000000001afdd2a8)
0x000000001afdd2a8:   000007fefb793f5d 0072007400730069
0x000000001afdd2b8:   0061004d005c0079 006e006900680063
0x000000001afdd2c8:   00790053005c0065 006d006500740073
0x000000001afdd2d8:   007200750043005c 0074006e00650072
0x000000001afdd2e8:   0074006e006f0043 0000000000000000
0x000000001afdd2f8:   0000000000000000 0000000000000000
0x000000001afdd308:   0000000000000000 0000000000000000
0x000000001afdd318:   0000000000000000 0000000000000000
0x000000001afdd328:   0000000000000000 0000000000000000
0x000000001afdd338:   0000000000000000 0000000000000000
0x000000001afdd348:   0000000000000000 0000000000000000
0x000000001afdd358:   0000000000000000 0000000000000000
0x000000001afdd368:   0000000000000000 0000000000000000
0x000000001afdd378:   0000000000000000 0000000000000000
0x000000001afdd388:   0000000000000000 0000000000000000
0x000000001afdd398:   0000000000000000 0000000000000000 

Instructions: (pc=0x0000000000000000)
0xffffffffffffffe0:   


Register to memory mapping:

RAX=0x000000001afdd2f4 is pointing into the stack for thread: 0x00000000166e9800
RBX=0x000007fefed60000 is an unknown value
RCX=0x000000001afdd2f0 is pointing into the stack for thread: 0x00000000166e9800
RDX=0x0000000000000000 is an unknown value
RSP=0x000000001afdd2a8 is pointing into the stack for thread: 0x00000000166e9800
RBP=0x000000001afdd3b0 is pointing into the stack for thread: 0x00000000166e9800
RSI=0x000007fef479fa00 is an unknown value
RDI=0x000000001afdd920 is pointing into the stack for thread: 0x00000000166e9800
R8 =0x0000000000000140 is an unknown value
R9 =0x0000000000000006 is an unknown value
R10=0x0000000000000000 is an unknown value
R11=0x000000001afdd2f4 is pointing into the stack for thread: 0x00000000166e9800
R12=0x000000001afddb90 is pointing into the stack for thread: 0x00000000166e9800
R13=0x000007fefb7953cc is an unknown value
R14=0x0000000000000000 is an unknown value
R15=0x00000000166e9800 is a thread


Stack: [0x000000001ade0000,0x000000001afe0000],  sp=0x000000001afdd2a8,  free space=2036k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.awt.Win32GraphicsDevice.getMaxConfigsImpl(I)I+0
j  sun.awt.Win32GraphicsDevice.getMaxConfigs(I)I+10
j  sun.awt.Win32GraphicsDevice.getConfigurations()[Ljava/awt/GraphicsConfiguration;+69
j  javax.swing.ToolTipManager.getDrawingGC(Ljava/awt/Point;)Ljava/awt/GraphicsConfiguration;+36
j  javax.swing.ToolTipManager.showTipWindow()V+115
j  javax.swing.ToolTipManager$insideTimerAction.actionPerformed(Ljava/awt/event/ActionEvent;)V+113
J 10142 C1 javax.swing.Timer.fireActionPerformed(Ljava/awt/event/ActionEvent;)V (46 bytes) @ 0x000000000423345c [0x0000000004233120+0x33c]
J 14878 C1 javax.swing.Timer$DoPostEvent.run()V (95 bytes) @ 0x0000000004faa514 [0x0000000004fa9940+0xbd4]
J 15500 C2 java.awt.EventQueue.run()Ljava/lang/Object; (5 bytes) @ 0x00000000044152e0 [0x0000000004414fe0+0x300]
v  ~StubRoutines::call_stub
J 1147  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x0000000002906c26 [0x0000000002906bc0+0x66]
J 15438 C2 org.netbeans.core.TimableEventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V (43 bytes) @ 0x00000000045e7e60 [0x00000000045e79c0+0x4a0]
J 20389 C2 java.awt.EventDispatchThread.pumpOneEventForFilters(I)V (295 bytes) @ 0x00000000060a3ccc [0x00000000060a3840+0x48c]
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub

我只需要知道我是否可以在 Intel 高清显卡而不是 AMD 显卡上使用 NetBeans,因为最近 AMD 取消了可切换显卡的选项!现在 AMD 的用户拥有 Crimson Software(我不打算用于图形的任何东西)!

谁能告诉我解决办法是什么! 任何帮助将不胜感激!

它只发生在 NetBeans IDE 和 AWT-Component 类 没有正常工作的情况下!

提前致谢

原因

很简单 IDE 崩溃是因为显卡的 AMD Radeon 深红版驱动程序!

引用Link

Read Here the Official Netbeans IDE - README

解决方法

只需在 IDE 安装的 根目录下找到 Netbeans.conf 文件,然后打开 等文件夹编辑Netbeans.conf.

在编辑模式下找到字符串:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"

在上面提到的代码中,只需将选项更改为:

-J-Dsun.java2d.noddraw=false

这样新的字符串就是:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=false -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"

它有什么作用?

它适用于具有双显卡的机器的用户,例如在我的情况下,我有一个 Intel HD Graphics 4400 卡和一个 AMD Radeon R9 M200X 系列!

但问题是 AMD 刚刚移除了可切换显卡,因此,您不能允许任何 windows 应用程序强制使用您的英特尔显卡(可能是我没有找到任何方法这样做! ).


目标受众

此解决方案适用于拥有 AMD Radeon 显卡的机器及其 Netbeans IDE 由于 AWT-Components 库而强制崩溃的用户!


谢谢大家!