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.

Bug 72630 - Debugging J2ME does not allow breakpoint on variable
Summary: Debugging J2ME does not allow breakpoint on variable
Status: CLOSED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Java (show other bugs)
Version: 5.x
Hardware: PC Windows XP
: P3 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on: 89558
Blocks: 66001
  Show dependency tree
 
Reported: 2006-02-13 22:19 UTC by ieising
Modified: 2010-04-29 09:28 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ieising 2006-02-13 22:19:06 UTC
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
Comment 1 Martin Entlicher 2006-02-14 09:31:58 UTC
We should use VirtualMachine.canWatchFieldModification() to test whether the
feature is available.
Comment 2 Martin Entlicher 2007-03-02 15:35:55 UTC
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
Comment 3 Quality Engineering 2010-04-29 09:28:26 UTC
Verified ... and Closing all issues resolved into NetBeans 6.7 and earlier.