37 import sun.jvm.hotspot.debugger.win32.coff.*; |
37 import sun.jvm.hotspot.debugger.win32.coff.*; |
38 import sun.jvm.hotspot.debugger.cdbg.*; |
38 import sun.jvm.hotspot.debugger.cdbg.*; |
39 import sun.jvm.hotspot.debugger.cdbg.basic.BasicDebugEvent; |
39 import sun.jvm.hotspot.debugger.cdbg.basic.BasicDebugEvent; |
40 import sun.jvm.hotspot.utilities.*; |
40 import sun.jvm.hotspot.utilities.*; |
41 import sun.jvm.hotspot.utilities.memo.*; |
41 import sun.jvm.hotspot.utilities.memo.*; |
|
42 import sun.jvm.hotspot.runtime.*; |
42 |
43 |
43 /** <P> An implementation of the JVMDebugger interface which talks to |
44 /** <P> An implementation of the JVMDebugger interface which talks to |
44 windbg and symbol table management is done in Java. </P> |
45 windbg and symbol table management is done in Java. </P> |
45 |
46 |
46 <P> <B>NOTE</B> that since we have the notion of fetching "Java |
47 <P> <B>NOTE</B> that since we have the notion of fetching "Java |
313 public WindbgAddress readAddress(long address) |
314 public WindbgAddress readAddress(long address) |
314 throws UnmappedAddressException, UnalignedAddressException { |
315 throws UnmappedAddressException, UnalignedAddressException { |
315 return (WindbgAddress) newAddress(readAddressValue(address)); |
316 return (WindbgAddress) newAddress(readAddressValue(address)); |
316 } |
317 } |
317 |
318 |
|
319 public WindbgAddress readCompOopAddress(long address) |
|
320 throws UnmappedAddressException, UnalignedAddressException { |
|
321 return (WindbgAddress) newAddress(readCompOopAddressValue(address)); |
|
322 } |
|
323 |
318 /** From the WindbgDebugger interface */ |
324 /** From the WindbgDebugger interface */ |
319 public WindbgOopHandle readOopHandle(long address) |
325 public WindbgOopHandle readOopHandle(long address) |
320 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException { |
326 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException { |
321 long value = readAddressValue(address); |
327 long value = readAddressValue(address); |
|
328 return (value == 0 ? null : new WindbgOopHandle(this, value)); |
|
329 } |
|
330 public WindbgOopHandle readCompOopHandle(long address) |
|
331 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException { |
|
332 long value = readCompOopAddressValue(address); |
322 return (value == 0 ? null : new WindbgOopHandle(this, value)); |
333 return (value == 0 ? null : new WindbgOopHandle(this, value)); |
323 } |
334 } |
324 |
335 |
325 /** From the WindbgDebugger interface */ |
336 /** From the WindbgDebugger interface */ |
326 public int getAddressSize() { |
337 public int getAddressSize() { |