public override Registers GetRegisters()
{
IntPtr buffer = IntPtr.Zero;
try {
int count = arch.CountRegisters;
int buffer_size = count * 8;
buffer = Marshal.AllocHGlobal (buffer_size);
TargetError result = mono_debugger_server_get_registers (
server_handle, buffer);
check_error (result);
long[] retval = new long [count];
Marshal.Copy (buffer, retval, 0, count);
return new Registers (arch, retval);
} finally {
if (buffer != IntPtr.Zero)
Marshal.FreeHGlobal (buffer);
}
}