core/debugger: support operation in yuzu-cmd

This commit is contained in:
Liam 2022-06-10 09:11:02 -04:00
parent 073714a762
commit de6c0defb3
3 changed files with 15 additions and 0 deletions

View File

@ -344,6 +344,8 @@ void Config::ReadValues() {
ReadSetting("Debugging", Settings::values.use_debug_asserts); ReadSetting("Debugging", Settings::values.use_debug_asserts);
ReadSetting("Debugging", Settings::values.use_auto_stub); ReadSetting("Debugging", Settings::values.use_auto_stub);
ReadSetting("Debugging", Settings::values.disable_macro_jit); ReadSetting("Debugging", Settings::values.disable_macro_jit);
ReadSetting("Debugging", Settings::values.use_gdbstub);
ReadSetting("Debugging", Settings::values.gdbstub_port);
const auto title_list = sdl2_config->Get("AddOns", "title_ids", ""); const auto title_list = sdl2_config->Get("AddOns", "title_ids", "");
std::stringstream ss(title_list); std::stringstream ss(title_list);

View File

@ -437,6 +437,11 @@ disable_macro_jit=false
# Presents guest frames as they become available. Experimental. # Presents guest frames as they become available. Experimental.
# false: Disabled (default), true: Enabled # false: Disabled (default), true: Enabled
disable_fps_limit=false disable_fps_limit=false
# Determines whether to enable the GDB stub and wait for the debugger to attach before running.
# false: Disabled (default), true: Enabled
use_gdbstub=false
# The port to use for the GDB server, if it is enabled.
gdbstub_port=6543
[WebService] [WebService]
# Whether or not to enable telemetry # Whether or not to enable telemetry

View File

@ -217,7 +217,15 @@ int main(int argc, char** argv) {
[](VideoCore::LoadCallbackStage, size_t value, size_t total) {}); [](VideoCore::LoadCallbackStage, size_t value, size_t total) {});
} }
system.RegisterExitCallback([&] {
// Just exit right away.
exit(0);
});
void(system.Run()); void(system.Run());
if (system.DebuggerEnabled()) {
system.InitializeDebugger();
}
while (emu_window->IsOpen()) { while (emu_window->IsOpen()) {
emu_window->WaitEvent(); emu_window->WaitEvent();
} }