}
});
+ final MenuItem guestdumpItem = new MenuItem(menu, SWT.PUSH);
+ guestdumpItem.setText("&Guest Memory Dump");
+
+ guestdumpItem.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ logger.info("Guest memory dump menu is selected");
+
+ communicator.setRamdumpFlag(true);
+ communicator.sendToQEMU(SendCommand.GUEST_DUMP, null);
+ }
+ });
+
return menu;
}
SCREEN_SHOT( (short)16 ),
DETAIL_INFO( (short)17 ),
RAM_DUMP( (short)18 ),
+ GUEST_DUMP( (short)19 ),
RESPONSE_HEART_BEAT( (short)900 ),
CLOSE( (short)998 ),
notify_ramdump_complete();
}
+void guestmemory_dump(void) {
+ INFO("guest memory dump!\n");
+
+ //TODO:
+}
+
void request_close( void )
{
INFO( "request_close\n" );
RECV_SCREEN_SHOT = 16,
RECV_DETAIL_INFO = 17,
RECV_RAM_DUMP = 18,
+ RECV_GUESTMEMORY_DUMP = 19,
RECV_RESPONSE_HEART_BEAT = 900,
RECV_CLOSE = 998,
RECV_RESPONSE_SHUTDOWN = 999,
ram_dump();
break;
}
+ case RECV_GUESTMEMORY_DUMP: {
+ log_cnt += sprintf(log_buf + log_cnt, "RECV_GUESTMEMORY_DUMP ==\n");
+ TRACE(log_buf);
+
+ guestmemory_dump();
+ break;
+ }
case RECV_RESPONSE_HEART_BEAT: {
log_cnt += sprintf( log_buf + log_cnt, "RECV_RESPONSE_HEART_BEAT ==\n" );
// TRACE( log_buf );