This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
I know that the JVM doesn't support it, but when I am debugging an application, I would like to see only the features I can use. With J2ME I can't set a breakpoint on the change of a variable, I get a stack-trace instead of a nice message. java.lang.UnsupportedOperationException: target VM does not support modification watchpoints at com.sun.tools.jdi.EventRequestManagerImpl.createModificationWatchpointRequest(EventRequestManagerImpl.java:810) at org.netbeans.modules.debugger.jpda.breakpoints.FieldBreakpointImpl.classLoaded(FieldBreakpointImpl.java:72) at org.netbeans.modules.debugger.jpda.breakpoints.ClassBasedBreakpoint.checkLoadedClasses(ClassBasedBreakpoint.java:136) at org.netbeans.modules.debugger.jpda.breakpoints.FieldBreakpointImpl.setRequests(FieldBreakpointImpl.java:56) at org.netbeans.modules.debugger.jpda.breakpoints.BreakpointImpl.update(BreakpointImpl.java:96) at org.netbeans.modules.debugger.jpda.breakpoints.BreakpointImpl.set(BreakpointImpl.java:74) at org.netbeans.modules.debugger.jpda.breakpoints.FieldBreakpointImpl.<init>(FieldBreakpointImpl.java:47) at org.netbeans.modules.debugger.jpda.breakpoints.BreakpointsEngineListener.createBreakpointImpl(BreakpointsEngineListener.java:196) at org.netbeans.modules.debugger.jpda.breakpoints.BreakpointsEngineListener.breakpointAdded(BreakpointsEngineListener.java:116) at org.netbeans.api.debugger.DebuggerManager.fireBreakpointCreated(DebuggerManager.java:632) at org.netbeans.api.debugger.DebuggerManager.addBreakpoint(DebuggerManager.java:433) at org.netbeans.modules.debugger.jpda.ui.breakpoints.FieldBreakpointPanel.ok(FieldBreakpointPanel.java:295) at org.netbeans.modules.debugger.ui.actions.AddBreakpointAction$AddBreakpointDialogManager.actionPerformed(AddBreakpointAction.java:127) at org.netbeans.core.windows.services.NbPresenter$ButtonListener.actionPerformed(NbPresenter.java:1074) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1957) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2278) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:377) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:232) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234) at java.awt.Component.processMouseEvent(Component.java:5955) at javax.swing.JComponent.processMouseEvent(JComponent.java:3282) at java.awt.Component.processEvent(Component.java:5720) at java.awt.Container.processEvent(Container.java:1960) at java.awt.Component.dispatchEventImpl(Component.java:4365) at java.awt.Container.dispatchEventImpl(Container.java:2018) at java.awt.Component.dispatchEvent(Component.java:4195) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4222) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3886) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3816) at java.awt.Container.dispatchEventImpl(Container.java:2004) at java.awt.Window.dispatchEventImpl(Window.java:2210) at java.awt.Component.dispatchEvent(Component.java:4195) [catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177) at java.awt.Dialog$1.run(Dialog.java:1032) at java.awt.Dialog$2.run(Dialog.java:1078) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1076) at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:810) at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:853) at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:841) at org.openide.util.Mutex.doEventAccess(Mutex.java:1172) at org.openide.util.Mutex.readAccess(Mutex.java:209) at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:826) at java.awt.Component.show(Component.java:1406) at java.awt.Component.setVisible(Component.java:1359) at java.awt.Window.setVisible(Window.java:695) at java.awt.Dialog.setVisible(Dialog.java:972) at org.netbeans.modules.debugger.ui.actions.AddBreakpointAction.actionPerformed(AddBreakpointAction.java:64) at org.netbeans.modules.debugger.ui.models.BreakpointsActionsProvider$1.actionPerformed(BreakpointsActionsProvider.java:44) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1957) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2278) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:377) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:232) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1137) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1178) at java.awt.Component.processMouseEvent(Component.java:5955) at javax.swing.JComponent.processMouseEvent(JComponent.java:3282) at java.awt.Component.processEvent(Component.java:5720) at java.awt.Container.processEvent(Container.java:1960) at java.awt.Component.dispatchEventImpl(Component.java:4365) at java.awt.Container.dispatchEventImpl(Container.java:2018) at java.awt.Component.dispatchEvent(Component.java:4195) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4222) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3886) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3816) at java.awt.Container.dispatchEventImpl(Container.java:2004) at java.awt.Window.dispatchEventImpl(Window.java:2210) at java.awt.Component.dispatchEvent(Component.java:4195) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) Please make this feature available and until then a nicer message, but ideally remove this option when debugging a MIDlet. Iwan
We should use VirtualMachine.canWatchFieldModification() to test whether the feature is available.
Fixed in trunk. We check whether the target VM supports field access and modification breakpoints. /shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/breakpoints/Bundle.properties,v <-- Bundle.properties new revision: 1.8; previous revision: 1.7 /shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/breakpoints/FieldBreakpointImpl.java,v <-- FieldBreakpointImpl.java new revision: 1.11; previous revision: 1.10
Verified ... and Closing all issues resolved into NetBeans 6.7 and earlier.