From 613cae613a8c2ac34dd823f875ac4a6a0059db38 Mon Sep 17 00:00:00 2001 From: skidau Date: Sun, 19 Oct 2014 21:45:40 +1100 Subject: Added a RAM Watch window to the debugger Conflicts: Source/Core/Core/HW/Memmap.cpp Source/Core/Core/HW/Memmap.h Source/Core/DolphinWX/Debugger/CodeWindow.h --- Source/Core/DolphinWX/FrameTools.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'Source/Core/DolphinWX/FrameTools.cpp') diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index de080a8587..eb9c6632a7 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -285,6 +285,7 @@ wxMenuBar* CFrame::CreateMenu() const wxString MenuText[] = { wxTRANSLATE("&Registers"), + wxTRANSLATE("&Watch"), wxTRANSLATE("&Breakpoints"), wxTRANSLATE("&Memory"), wxTRANSLATE("&JIT"), -- cgit v1.2.3 From 8d2931cf1803234ced2429a6bf5dbb8b934e9f38 Mon Sep 17 00:00:00 2001 From: skidau Date: Sat, 25 Oct 2014 00:13:53 +1100 Subject: Breakpoints and watches are now loaded and saved on start/stop. Saved Breakpoints and watches per game in the game ini. --- Source/Core/DolphinWX/FrameTools.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'Source/Core/DolphinWX/FrameTools.cpp') diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index eb9c6632a7..2ef29ccecc 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -78,7 +78,9 @@ #include "DolphinWX/WXInputBase.h" #include "DolphinWX/WxUtils.h" #include "DolphinWX/Cheats/CheatsWindow.h" +#include "DolphinWX/Debugger/BreakpointWindow.h" #include "DolphinWX/Debugger/CodeWindow.h" +#include "DolphinWX/Debugger/WatchWindow.h" #include "InputCommon/ControllerInterface/ControllerInterface.h" @@ -656,7 +658,19 @@ void CFrame::BootGame(const std::string& filename) } } if (!bootfile.empty()) + { StartGame(bootfile); + if (UseDebugger) + { + if (g_pCodeWindow) + { + if (g_pCodeWindow->m_WatchWindow) + g_pCodeWindow->m_WatchWindow->LoadAll(); + if (g_pCodeWindow->m_BreakpointWindow) + g_pCodeWindow->m_BreakpointWindow->LoadAll(); + } + } + } } // Open file to boot @@ -1163,6 +1177,25 @@ void CFrame::DoStop() } } + if (UseDebugger) + { + if (g_pCodeWindow) + { + if (g_pCodeWindow->m_WatchWindow) + { + g_pCodeWindow->m_WatchWindow->SaveAll(); + PowerPC::watches.Clear(); + } + if (g_pCodeWindow->m_BreakpointWindow) + { + g_pCodeWindow->m_BreakpointWindow->SaveAll(); + PowerPC::breakpoints.Clear(); + PowerPC::memchecks.Clear(); + g_pCodeWindow->m_BreakpointWindow->NotifyUpdate(); + } + } + } + // TODO: Show the author/description dialog here if (Movie::IsRecordingInput()) DoRecordingSave(); -- cgit v1.2.3 From 7eebbcdca7f5dff60aff387f789bc1292905c68a Mon Sep 17 00:00:00 2001 From: skidau Date: Sun, 26 Oct 2014 21:19:22 +1100 Subject: Fixed a crash that would occur when old symbol information was reused --- Source/Core/DolphinWX/FrameTools.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Source/Core/DolphinWX/FrameTools.cpp') diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index 2ef29ccecc..c4a8009017 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -58,6 +58,7 @@ #include "Core/IPC_HLE/WII_IPC_HLE_Device_usb.h" #include "Core/IPC_HLE/WII_IPC_HLE_WiiMote.h" #include "Core/PowerPC/PowerPC.h" +#include "Core/PowerPC/PPCSymbolDB.h" #include "DiscIO/NANDContentLoader.h" @@ -1193,6 +1194,8 @@ void CFrame::DoStop() PowerPC::memchecks.Clear(); g_pCodeWindow->m_BreakpointWindow->NotifyUpdate(); } + g_symbolDB.Clear(); + Host_NotifyMapLoaded(); } } -- cgit v1.2.3 From 4570dd7eeb9033c0e349d3a9f0126f24010b0699 Mon Sep 17 00:00:00 2001 From: skidau Date: Sun, 26 Oct 2014 23:23:45 +1100 Subject: Fixed a crash that would occur if a new watch were added by entering a watch name. Code style updates. --- Source/Core/DolphinWX/FrameTools.cpp | 42 ++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 24 deletions(-) (limited to 'Source/Core/DolphinWX/FrameTools.cpp') diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index c4a8009017..0c27b52308 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -661,15 +661,12 @@ void CFrame::BootGame(const std::string& filename) if (!bootfile.empty()) { StartGame(bootfile); - if (UseDebugger) + if (UseDebugger && g_pCodeWindow) { - if (g_pCodeWindow) - { - if (g_pCodeWindow->m_WatchWindow) - g_pCodeWindow->m_WatchWindow->LoadAll(); - if (g_pCodeWindow->m_BreakpointWindow) - g_pCodeWindow->m_BreakpointWindow->LoadAll(); - } + if (g_pCodeWindow->m_WatchWindow) + g_pCodeWindow->m_WatchWindow->LoadAll(); + if (g_pCodeWindow->m_BreakpointWindow) + g_pCodeWindow->m_BreakpointWindow->LoadAll(); } } } @@ -1178,25 +1175,22 @@ void CFrame::DoStop() } } - if (UseDebugger) + if (UseDebugger && g_pCodeWindow) { - if (g_pCodeWindow) + if (g_pCodeWindow->m_WatchWindow) + { + g_pCodeWindow->m_WatchWindow->SaveAll(); + PowerPC::watches.Clear(); + } + if (g_pCodeWindow->m_BreakpointWindow) { - if (g_pCodeWindow->m_WatchWindow) - { - g_pCodeWindow->m_WatchWindow->SaveAll(); - PowerPC::watches.Clear(); - } - if (g_pCodeWindow->m_BreakpointWindow) - { - g_pCodeWindow->m_BreakpointWindow->SaveAll(); - PowerPC::breakpoints.Clear(); - PowerPC::memchecks.Clear(); - g_pCodeWindow->m_BreakpointWindow->NotifyUpdate(); - } - g_symbolDB.Clear(); - Host_NotifyMapLoaded(); + g_pCodeWindow->m_BreakpointWindow->SaveAll(); + PowerPC::breakpoints.Clear(); + PowerPC::memchecks.Clear(); + g_pCodeWindow->m_BreakpointWindow->NotifyUpdate(); } + g_symbolDB.Clear(); + Host_NotifyMapLoaded(); } // TODO: Show the author/description dialog here -- cgit v1.2.3