diff options
| author | hrydgard <hrydgard@gmail.com> | 2008-08-09 16:56:24 +0000 |
|---|---|---|
| committer | hrydgard <hrydgard@gmail.com> | 2008-08-09 16:56:24 +0000 |
| commit | e3d21c0b11e124dee453825f27f463f442c39b72 (patch) | |
| tree | 9af64870f4fa62a455b98a5e7430a9c8bdb43548 /Source/Core/DebuggerWX/src | |
| parent | 61398ea83ff24b2eb84537ca0508ce4fc623c3fe (diff) | |
32-bit speedup (videos mostly affected). Lots of various cleanup and future proofing. A small debugger feature.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@162 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DebuggerWX/src')
| -rw-r--r-- | Source/Core/DebuggerWX/src/CodeWindow.cpp | 44 | ||||
| -rw-r--r-- | Source/Core/DebuggerWX/src/CodeWindow.h | 2 |
2 files changed, 37 insertions, 9 deletions
diff --git a/Source/Core/DebuggerWX/src/CodeWindow.cpp b/Source/Core/DebuggerWX/src/CodeWindow.cpp index b878dff18d..a2f77dbc4a 100644 --- a/Source/Core/DebuggerWX/src/CodeWindow.cpp +++ b/Source/Core/DebuggerWX/src/CodeWindow.cpp @@ -39,6 +39,7 @@ #include "Debugger/PPCDebugInterface.h"
#include "Debugger/Debugger_SymbolMap.h"
+#include "PowerPC/PPCAnalyst.h"
#include "Core.h"
#include "LogManager.h"
@@ -64,6 +65,8 @@ BEGIN_EVENT_TABLE(CCodeWindow, wxFrame) EVT_MENU(IDM_REGISTERWINDOW, CCodeWindow::OnToggleRegisterWindow)
EVT_MENU(IDM_BREAKPOINTWINDOW, CCodeWindow::OnToggleBreakPointWindow)
EVT_MENU(IDM_MEMORYWINDOW, CCodeWindow::OnToggleMemoryWindow)
+
+ EVT_MENU(IDM_SCANFUNCTIONS, CCodeWindow::OnSymbolsMenu)
// toolbar
EVT_MENU(IDM_DEBUG_GO, CCodeWindow::OnCodeStep)
EVT_MENU(IDM_STEP, CCodeWindow::OnCodeStep)
@@ -195,14 +198,14 @@ void CCodeWindow::CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParam wxMenuBar* pMenuBar = new wxMenuBar(wxMB_DOCKABLE);
{
- wxMenu* pDebugMenu = new wxMenu;
- wxMenuItem* interpreter = pDebugMenu->Append(IDM_INTERPRETER, _T("&Interpreter"), wxEmptyString, wxITEM_CHECK);
+ wxMenu* pCoreMenu = new wxMenu;
+ wxMenuItem* interpreter = pCoreMenu->Append(IDM_INTERPRETER, _T("&Interpreter"), wxEmptyString, wxITEM_CHECK);
interpreter->Check(!_LocalCoreStartupParameter.bUseDynarec);
// wxMenuItem* dualcore = pDebugMenu->Append(IDM_DUALCORE, _T("&DualCore"), wxEmptyString, wxITEM_CHECK);
// dualcore->Check(_LocalCoreStartupParameter.bUseDualCore);
- pMenuBar->Append(pDebugMenu, _T("&Core Startup"));
+ pMenuBar->Append(pCoreMenu, _T("&Core Startup"));
}
{
@@ -225,6 +228,11 @@ void CCodeWindow::CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParam pMenuBar->Append(pDebugDialogs, _T("&Views"));
}
+ {
+ wxMenu *pSymbolsMenu = new wxMenu;
+ pSymbolsMenu->Append(IDM_SCANFUNCTIONS, _T("&Scan for functions"));
+ pMenuBar->Append(pSymbolsMenu, _T("&Symbols"));
+ }
SetMenuBar(pMenuBar);
}
@@ -246,6 +254,23 @@ void CCodeWindow::JumpToAddress(u32 _Address) codeview->Center(_Address);
}
+void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event)
+{
+ if (Core::GetState() == Core::CORE_UNINITIALIZED)
+ {
+ // TODO: disable menu items instead :P
+ return;
+ }
+ switch (event.GetId())
+ {
+ case IDM_SCANFUNCTIONS:
+ PPCAnalyst::FindFunctions(0x80003100, 0x80400000);
+ PPCAnalyst::LoadFuncDB("data/totaldb.dsy");
+ Debugger::GetFromAnalyzer();
+ NotifyMapLoaded();
+ break;
+ }
+}
void CCodeWindow::OnCodeStep(wxCommandEvent& event)
{
@@ -537,6 +562,7 @@ void CCodeWindow::OnToggleMemoryWindow(wxCommandEvent& event) }
}
}
+
void CCodeWindow::OnHostMessage(wxCommandEvent& event)
{
switch (event.GetId())
@@ -582,13 +608,13 @@ void CCodeWindow::PopulateToolbar(wxToolBar* toolBar) h = m_Bitmaps[Toolbar_DebugGo].GetHeight();
toolBar->SetToolBitmapSize(wxSize(w, h));
- toolBar->AddTool(IDM_DEBUG_GO, _T("Play"), m_Bitmaps[Toolbar_DebugGo], _T("Delete the selected BreakPoint or MemoryCheck"));
- toolBar->AddTool(IDM_STEP, _T("Step"), m_Bitmaps[Toolbar_Step], _T("Add BreakPoint..."));
- toolBar->AddTool(IDM_STEPOVER, _T("Step Over"), m_Bitmaps[Toolbar_StepOver], _T("Add BreakPoint..."));
- toolBar->AddTool(IDM_SKIP, _T("Skip"), m_Bitmaps[Toolbar_Skip], _T("Add BreakPoint..."));
+ toolBar->AddTool(IDM_DEBUG_GO, _T("Play"), m_Bitmaps[Toolbar_DebugGo]);
+ toolBar->AddTool(IDM_STEP, _T("Step"), m_Bitmaps[Toolbar_Step]);
+ toolBar->AddTool(IDM_STEPOVER, _T("Step Over"), m_Bitmaps[Toolbar_StepOver]);
+ toolBar->AddTool(IDM_SKIP, _T("Skip"), m_Bitmaps[Toolbar_Skip]);
toolBar->AddSeparator();
- toolBar->AddTool(IDM_GOTOPC, _T("Goto PC"), m_Bitmaps[Toolbar_GotoPC], _T("Add BreakPoint..."));
- toolBar->AddTool(IDM_SETPC, _T("Set PC"), m_Bitmaps[Toolbar_SetPC], _T("Add BreakPoint..."));
+ toolBar->AddTool(IDM_GOTOPC, _T("Goto PC"), m_Bitmaps[Toolbar_GotoPC]);
+ toolBar->AddTool(IDM_SETPC, _T("Set PC"), m_Bitmaps[Toolbar_SetPC]);
toolBar->AddSeparator();
toolBar->AddControl(new wxTextCtrl(toolBar, IDM_ADDRBOX, _T("")));
diff --git a/Source/Core/DebuggerWX/src/CodeWindow.h b/Source/Core/DebuggerWX/src/CodeWindow.h index e068769ed5..e63fb2eff9 100644 --- a/Source/Core/DebuggerWX/src/CodeWindow.h +++ b/Source/Core/DebuggerWX/src/CodeWindow.h @@ -78,6 +78,7 @@ class CCodeWindow IDM_REGISTERWINDOW,
IDM_BREAKPOINTWINDOW,
IDM_MEMORYWINDOW,
+ IDM_SCANFUNCTIONS,
};
enum
@@ -120,6 +121,7 @@ class CCodeWindow void OnToggleLogWindow(wxCommandEvent& event);
void OnToggleMemoryWindow(wxCommandEvent& event);
void OnHostMessage(wxCommandEvent& event);
+ void OnSymbolsMenu(wxCommandEvent& event);
void CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParameter);
|
