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

96 lines
3.1 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
{
virtual void TLBChanged ( void ) = 0;
2017-08-18 05:08:22 +00:00
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 :
public CDebugger
{
2017-08-18 05:08:22 +00:00
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_StackTraceView;
CDebugStackView * m_StackView;
CBreakpoints * m_Breakpoints;
CScriptSystem * m_ScriptSystem;
CDMALog * m_DMALog;
vector<uint32_t> * m_StackTrace;
void BreakpointHit(void);
2016-01-27 09:11:59 +00:00
protected:
CDebuggerUI();
virtual ~CDebuggerUI();
void TLBChanged ( void );
2017-08-18 05:08:22 +00:00
bool CPUStepStarted ( void );
void CPUStep ( void );
void FrameDrawn ( void );
2016-01-27 09:11:59 +00:00
public:
2017-08-18 05:08:22 +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_ShowDMALogWindow ( void );
CBreakpoints* Breakpoints();
CDebugSymbols* Symbols();
CScriptSystem* ScriptSystem();
CDebugScripts* ScriptConsole();
CDMALog* DMALog();
vector<uint32_t> * StackTrace();
static void GameReset ( CDebuggerUI * _this );
2016-01-27 09:11:59 +00:00
};