Ah, I think I didn't explain well enough. I made a screenshot of it.
Sorry for the censoring of some names, but I think the relevant parts are visible.
You can see here the state of the VM/Locals inside of a method. There is some string handling with local variables as well as some other objects.
`this` works well and I can traverse all objects. But the local variables v0-v13 are simply listed as `int`s.
For example two steps further v0 should clearly be a String (return of .substring(9)). But it will still be shown as an `int`.
Is it possible to display it as a String in the VM/Locals view? Or is that not how it works?
One thing I tried was setting the Type field correctly myself. When I double click on it a textbox appears. I don't know if that is a feature or just something weird. But I attempted to change the "int" to "string", etc...
Second question, if it would be displayed correctly as a String object, showing the string value, is it possible to change that value with the UI or Console?
Thanks!
java.io.IOException: The receiver is dead
at com.pnfsoftware.jebglobal.nt.DC(SourceFile:587)
at com.pnfsoftware.jebglobal.nt.Cx(SourceFile:505)
at com.pnfsoftware.jebglobal.nt.jE(SourceFile:7487)
at com.pnfsoftware.jebglobal.nt.hU(SourceFile:154)
at com.pnfsoftware.jebglobal.Hv.attach(SourceFile:441)
at com.pnfsoftware.jeb.corei.debuggers.android.vm.Uu.attach(SourceFile:463)
at com.pnfsoftware.jeb.rcpclient.handlers.debugger.DebuggerAttachHandler$1.call(DebuggerAttachHandler.java:90)
at com.pnfsoftware.jeb.rcpclient.handlers.debugger.DebuggerAttachHandler$1.call(DebuggerAttachHandler.java:87)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
The debugger could not connect to the target
java.io.IOException: The receiver is dead
at com.pnfsoftware.jebglobal.Gs.OG(SourceFile:320)
at com.pnfsoftware.jebglobal.Gs.Cx(SourceFile:346)
at com.pnfsoftware.jebglobal.cq.YV(SourceFile:407)
at com.pnfsoftware.jeb.corei.debuggers.android.vm.Uu.Cx(SourceFile:1216)
at com.pnfsoftware.jeb.corei.debuggers.android.vm.yB.Cx(SourceFile:337)
at com.pnfsoftware.jeb.corei.debuggers.android.vm.yB.getVariables(SourceFile:203)
at com.pnfsoftware.jeb.rcpclient.parts.units.DbgVariablesView$TreeContentProvider.getElements(DbgVariablesView.java:227)
at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:999)
at org.eclipse.jface.viewers.ColumnViewer.getRawChildren(ColumnViewer.java:699)
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1349)
at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:353)
at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:905)
at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:617)
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2649)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1918)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:684)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1893)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1850)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1836)
at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1500)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1436)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:366)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1397)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1497)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:521)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1456)
at com.pnfsoftware.jeb.rcpclient.parts.units.DbgVariablesView$ValueEditingSupport.setValue(DbgVariablesView.java:455)
at org.eclipse.jface.viewers.EditingSupport.saveCellEditorValue(EditingSupport.java:113)
at org.eclipse.jface.viewers.ColumnViewerEditor.saveEditorValue(ColumnViewerEditor.java:463)
at org.eclipse.jface.viewers.ColumnViewerEditor.applyEditorValue(ColumnViewerEditor.java:319)
at org.eclipse.jface.viewers.ColumnViewerEditor$2.applyEditorValue(ColumnViewerEditor.java:158)
at org.eclipse.jface.viewers.CellEditor$1.run(CellEditor.java:336)
at org.eclipse.jface.util.SafeRunnable$1.run(SafeRunnable.java:131)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:178)
at org.eclipse.jface.viewers.CellEditor.fireApplyEditorValue(CellEditor.java:333)
at org.eclipse.jface.viewers.TextCellEditor.handleDefaultSelection(TextCellEditor.java:298)
at org.eclipse.jface.viewers.TextCellEditor$1.widgetDefaultSelected(TextCellEditor.java:147)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:119)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4199)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1467)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1490)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1475)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4042)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3669)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:164)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
VM> info
Debuggee is running on ?
VM information: JDWP:"Android DalvikVM 1.6.0" v1.5 (VM:DalvikVM v1.5.0)
VM identifier sizes: f=4,m=4,o=8,rt=8,fr=8
VM> threads
- 830027359608/C1417C6578h "<1> main" [PAUSED] @ Linfo/xxx/xxx;->setXXX(Lcom/xxx/xxx/xxx;)V+66h
- ...
VM> readvar v11 int
1112793576(4253E1E8h)
VM> readvar v11 string
-1: java.lang.NullPointerException ("readvar v11 string")
VM/Locals view shows:
v11 int 1128168576 (433E7C80h)