[UI] Host breakpoint shortcut (pauses WinDbg)
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
#include "third_party/imgui/imgui.h"
|
#include "third_party/imgui/imgui.h"
|
||||||
#include "xenia/base/clock.h"
|
#include "xenia/base/clock.h"
|
||||||
|
#include "xenia/base/debugging.h"
|
||||||
#include "xenia/base/logging.h"
|
#include "xenia/base/logging.h"
|
||||||
#include "xenia/base/platform.h"
|
#include "xenia/base/platform.h"
|
||||||
#include "xenia/base/profiling.h"
|
#include "xenia/base/profiling.h"
|
||||||
@@ -142,6 +143,9 @@ bool EmulatorWindow::Initialize() {
|
|||||||
case 0x13: { // VK_PAUSE
|
case 0x13: { // VK_PAUSE
|
||||||
CpuBreakIntoDebugger();
|
CpuBreakIntoDebugger();
|
||||||
} break;
|
} break;
|
||||||
|
case 0x03: { // VK_CANCEL
|
||||||
|
CpuBreakIntoHostDebugger();
|
||||||
|
} break;
|
||||||
|
|
||||||
case 0x70: { // VK_F1
|
case 0x70: { // VK_F1
|
||||||
ShowHelpWebsite();
|
ShowHelpWebsite();
|
||||||
@@ -208,8 +212,13 @@ bool EmulatorWindow::Initialize() {
|
|||||||
cpu_menu->AddChild(MenuItem::Create(MenuItem::Type::kSeparator));
|
cpu_menu->AddChild(MenuItem::Create(MenuItem::Type::kSeparator));
|
||||||
{
|
{
|
||||||
cpu_menu->AddChild(MenuItem::Create(
|
cpu_menu->AddChild(MenuItem::Create(
|
||||||
MenuItem::Type::kString, L"&Break and Show Debugger", L"Pause/Break",
|
MenuItem::Type::kString, L"&Break and Show Guest Debugger",
|
||||||
|
L"Pause/Break",
|
||||||
std::bind(&EmulatorWindow::CpuBreakIntoDebugger, this)));
|
std::bind(&EmulatorWindow::CpuBreakIntoDebugger, this)));
|
||||||
|
cpu_menu->AddChild(MenuItem::Create(
|
||||||
|
MenuItem::Type::kString, L"&Break into Host Debugger",
|
||||||
|
L"Ctrl+Pause/Break",
|
||||||
|
std::bind(&EmulatorWindow::CpuBreakIntoHostDebugger, this)));
|
||||||
}
|
}
|
||||||
main_menu->AddChild(std::move(cpu_menu));
|
main_menu->AddChild(std::move(cpu_menu));
|
||||||
|
|
||||||
@@ -366,6 +375,8 @@ void EmulatorWindow::CpuBreakIntoDebugger() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EmulatorWindow::CpuBreakIntoHostDebugger() { xe::debugging::Break(); }
|
||||||
|
|
||||||
void EmulatorWindow::GpuTraceFrame() {
|
void EmulatorWindow::GpuTraceFrame() {
|
||||||
emulator()->graphics_system()->RequestFrameTrace();
|
emulator()->graphics_system()->RequestFrameTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ class EmulatorWindow {
|
|||||||
void CpuTimeScalarSetHalf();
|
void CpuTimeScalarSetHalf();
|
||||||
void CpuTimeScalarSetDouble();
|
void CpuTimeScalarSetDouble();
|
||||||
void CpuBreakIntoDebugger();
|
void CpuBreakIntoDebugger();
|
||||||
|
void CpuBreakIntoHostDebugger();
|
||||||
void GpuTraceFrame();
|
void GpuTraceFrame();
|
||||||
void GpuClearCaches();
|
void GpuClearCaches();
|
||||||
void ShowHelpWebsite();
|
void ShowHelpWebsite();
|
||||||
|
|||||||
Reference in New Issue
Block a user