51 * RuntimeException if they are called before the debugger is |
51 * RuntimeException if they are called before the debugger is |
52 * configured with the Java primitive type sizes. </P> |
52 * configured with the Java primitive type sizes. </P> |
53 */ |
53 */ |
54 |
54 |
55 public class ProcDebuggerLocal extends DebuggerBase implements ProcDebugger { |
55 public class ProcDebuggerLocal extends DebuggerBase implements ProcDebugger { |
56 |
|
57 |
|
58 protected static final int cacheSize = 16 * 1024 * 1024; // 16 MB |
56 protected static final int cacheSize = 16 * 1024 * 1024; // 16 MB |
59 |
57 |
60 //------------------------------------------------------------------------ |
58 //------------------------------------------------------------------------ |
61 // Implementation of Debugger interface |
59 // Implementation of Debugger interface |
62 // |
60 // |
335 throws UnmappedAddressException, UnalignedAddressException { |
333 throws UnmappedAddressException, UnalignedAddressException { |
336 long value = readAddressValue(address); |
334 long value = readAddressValue(address); |
337 return (value == 0 ? null : new ProcAddress(this, value)); |
335 return (value == 0 ? null : new ProcAddress(this, value)); |
338 } |
336 } |
339 |
337 |
|
338 public ProcAddress readCompOopAddress(long address) |
|
339 throws UnmappedAddressException, UnalignedAddressException { |
|
340 long value = readCompOopAddressValue(address); |
|
341 return (value == 0 ? null : new ProcAddress(this, value)); |
|
342 } |
|
343 |
340 /** From the ProcDebugger interface */ |
344 /** From the ProcDebugger interface */ |
341 public ProcOopHandle readOopHandle(long address) |
345 public ProcOopHandle readOopHandle(long address) |
342 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException { |
346 throws UnmappedAddressException, UnalignedAddressException, NotInHeapException { |
343 long value = readAddressValue(address); |
347 long value = readAddressValue(address); |
|
348 return (value == 0 ? null : new ProcOopHandle(this, value)); |
|
349 } |
|
350 |
|
351 public ProcOopHandle readCompOopHandle(long address) { |
|
352 long value = readCompOopAddressValue(address); |
344 return (value == 0 ? null : new ProcOopHandle(this, value)); |
353 return (value == 0 ? null : new ProcOopHandle(this, value)); |
345 } |
354 } |
346 |
355 |
347 public void writeBytesToProcess(long address, long numBytes, byte[] data) |
356 public void writeBytesToProcess(long address, long numBytes, byte[] data) |
348 throws UnmappedAddressException, DebuggerException { |
357 throws UnmappedAddressException, DebuggerException { |