Starting revival of debugger system. Work on #41.

This commit is contained in:
Ben Vanik
2013-12-16 20:28:58 -08:00
parent c17122e022
commit d548e7f770
28 changed files with 1254 additions and 100 deletions

View File

@@ -12,7 +12,7 @@
#include <xenia/apu/apu.h>
#include <xenia/cpu/cpu.h>
#include <xenia/cpu/xenon_memory.h>
#include <xenia/dbg/debugger.h>
#include <xenia/debug/debug_server.h>
#include <xenia/gpu/gpu.h>
#include <xenia/hid/hid.h>
#include <xenia/kernel/kernel.h>
@@ -23,7 +23,7 @@
using namespace xe;
using namespace xe::apu;
using namespace xe::cpu;
using namespace xe::dbg;
using namespace xe::debug;
using namespace xe::gpu;
using namespace xe::hid;
using namespace xe::kernel;
@@ -34,7 +34,7 @@ using namespace xe::kernel::xboxkrnl::fs;
Emulator::Emulator(const xechar_t* command_line) :
memory_(0),
debugger_(0),
debug_server_(0),
processor_(0),
audio_system_(0), graphics_system_(0), input_system_(0),
export_resolver_(0), file_system_(0),
@@ -45,6 +45,11 @@ Emulator::Emulator(const xechar_t* command_line) :
Emulator::~Emulator() {
// Note that we delete things in the reverse order they were initialized.
// Disconnect all debug clients first.
if (debug_server_) {
debug_server_->Shutdown();
}
delete xam_;
delete xboxkrnl_;
@@ -55,7 +60,7 @@ Emulator::~Emulator() {
delete audio_system_;
delete processor_;
delete debugger_;
delete debug_server_;
delete export_resolver_;
}
@@ -74,8 +79,8 @@ X_STATUS Emulator::Setup() {
XEEXPECTNOTNULL(export_resolver_);
// Create the debugger.
debugger_ = new Debugger(this);
XEEXPECTNOTNULL(debugger_);
debug_server_ = new DebugServer(this);
XEEXPECTNOTNULL(debug_server_);
// Initialize the CPU.
processor_ = new Processor(this);
@@ -115,7 +120,7 @@ X_STATUS Emulator::Setup() {
// Prepare the debugger.
// This may pause waiting for connections.
result = debugger_->Startup();
result = debug_server_->Startup();
XEEXPECTZERO(result);
return result;