project64/Source/Project64/UserInterface/Debugger/debugger.h

95 lines
3.0 KiB
C
Raw Normal View History

2016-01-27 09:11:59 +00:00
/****************************************************************************
* *
* 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;
2017-08-18 05:08:22 +00:00
class CDebugCommandsView;
class CDebugScripts;
class CDebugSymbols;
class CDebugDMALogView;
class CDebugStackView;
class CDebugStackTrace;
class CDMALog;
class CBreakpoints;
class CScriptSystem;
2016-01-27 09:11:59 +00:00
__interface CDebugger
{
2017-09-13 10:36:03 +00:00
virtual void TLBChanged(void) = 0;
virtual bool CPUStepStarted(void) = 0;
virtual void CPUStep(void) = 0;
virtual void FrameDrawn(void) = 0;
2016-01-27 09:11:59 +00:00
};
class CDebuggerUI :
2017-09-13 10:36:03 +00:00
public CDebugger
2016-01-27 09:11:59 +00:00
{
2017-08-18 05:08:22 +00:00
CDumpMemory * m_MemoryDump;
CDebugMemoryView * m_MemoryView;
CDebugMemorySearch * m_MemorySearch;
CDebugTlb * m_DebugTLB;
2017-09-13 10:36:03 +00:00
CDebugCommandsView * m_CommandsView;
CDebugScripts * m_Scripts;
CDebugSymbols * m_Symbols;
CDebugDMALogView * m_DMALogView;
CDebugStackTrace * m_StackTrace;
CDebugStackView * m_StackView;
2017-08-18 05:08:22 +00:00
2017-09-13 10:36:03 +00:00
CBreakpoints * m_Breakpoints;
CScriptSystem * m_ScriptSystem;
CDMALog * m_DMALog;
2017-08-18 05:08:22 +00:00
2017-09-13 10:36:03 +00:00
void BreakpointHit(void);
2016-01-27 09:11:59 +00:00
protected:
CDebuggerUI();
virtual ~CDebuggerUI();
2017-09-13 10:36:03 +00:00
void TLBChanged(void);
bool CPUStepStarted(void);
void CPUStep(void);
void FrameDrawn(void);
2016-01-27 09:11:59 +00:00
public:
2017-09-13 10:36:03 +00:00
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);
2017-08-18 05:08:22 +00:00
2017-09-13 10:36:03 +00:00
CBreakpoints* Breakpoints();
CDebugSymbols* Symbols();
CScriptSystem* ScriptSystem();
CDebugScripts* ScriptConsole();
CDMALog* DMALog();
2017-08-18 05:08:22 +00:00
2017-09-13 10:36:03 +00:00
static void GameReset(CDebuggerUI * _this);
2016-01-27 09:11:59 +00:00
};