95 lines
3.0 KiB
C++
95 lines
3.0 KiB
C++
/****************************************************************************
|
|
* *
|
|
* Project64 - A Nintendo 64 emulator. *
|
|
* http://www.pj64-emu.com/ *
|
|
* Copyright (C) 2012 Project64. All rights reserved. *
|
|
* *
|
|
* License: *
|
|
* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html *
|
|
* *
|
|
****************************************************************************/
|
|
#pragma once
|
|
|
|
class CDumpMemory;
|
|
class CDebugMemoryView;
|
|
class CDebugMemorySearch;
|
|
class CDebugTlb;
|
|
class CDebugCommandsView;
|
|
class CDebugScripts;
|
|
class CDebugSymbols;
|
|
class CDebugDMALogView;
|
|
class CDebugStackView;
|
|
class CDebugStackTrace;
|
|
|
|
class CDMALog;
|
|
class CBreakpoints;
|
|
class CScriptSystem;
|
|
|
|
__interface CDebugger
|
|
{
|
|
virtual void TLBChanged(void) = 0;
|
|
virtual bool CPUStepStarted(void) = 0;
|
|
virtual void CPUStep(void) = 0;
|
|
virtual void FrameDrawn(void) = 0;
|
|
};
|
|
|
|
class CDebuggerUI :
|
|
public CDebugger
|
|
{
|
|
CDumpMemory * m_MemoryDump;
|
|
CDebugMemoryView * m_MemoryView;
|
|
CDebugMemorySearch * m_MemorySearch;
|
|
CDebugTlb * m_DebugTLB;
|
|
CDebugCommandsView * m_CommandsView;
|
|
CDebugScripts * m_Scripts;
|
|
CDebugSymbols * m_Symbols;
|
|
CDebugDMALogView * m_DMALogView;
|
|
CDebugStackTrace * m_StackTrace;
|
|
CDebugStackView * m_StackView;
|
|
|
|
CBreakpoints * m_Breakpoints;
|
|
CScriptSystem * m_ScriptSystem;
|
|
CDMALog * m_DMALog;
|
|
|
|
void BreakpointHit(void);
|
|
|
|
protected:
|
|
CDebuggerUI();
|
|
virtual ~CDebuggerUI();
|
|
|
|
void TLBChanged(void);
|
|
bool CPUStepStarted(void);
|
|
void CPUStep(void);
|
|
void FrameDrawn(void);
|
|
|
|
public:
|
|
void Debug_Reset(void);
|
|
void Debug_ShowMemoryDump(void);
|
|
void Debug_ShowMemoryWindow(void);
|
|
void Debug_ShowMemoryLocation(uint32_t Address, bool VAddr);
|
|
void Debug_ShowMemorySearch(void);
|
|
void Debug_ShowTLBWindow(void);
|
|
void Debug_RefreshTLBWindow(void);
|
|
void Debug_ShowCommandsWindow(void);
|
|
void Debug_ShowCommandsLocation(uint32_t address, bool top);
|
|
void Debug_ShowScriptsWindow(void);
|
|
void Debug_LogScriptsWindow(const char* text);
|
|
void Debug_ClearScriptsWindow(void);
|
|
void Debug_RefreshScriptsWindow(void);
|
|
void Debug_RefreshSymbolsWindow(void);
|
|
void Debug_ShowSymbolsWindow(void);
|
|
void Debug_ShowStackTrace(void);
|
|
void Debug_ShowStackWindow(void);
|
|
void Debug_RefreshStackWindow(void);
|
|
void Debug_RefreshStackTraceWindow(void);
|
|
void Debug_ShowDMALogWindow(void);
|
|
|
|
CBreakpoints* Breakpoints();
|
|
CDebugSymbols* Symbols();
|
|
CScriptSystem* ScriptSystem();
|
|
CDebugScripts* ScriptConsole();
|
|
CDMALog* DMALog();
|
|
|
|
static void GameReset(CDebuggerUI * _this);
|
|
};
|