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
|
2018-01-10 07:05:57 +00:00
|
|
|
#include <Project64-core/Debugger.h>
|
2016-01-27 09:11:59 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
class CDebuggerUI :
|
2017-09-13 10:36:03 +00:00
|
|
|
public CDebugger
|
2016-01-27 09:11:59 +00:00
|
|
|
{
|
2018-01-10 07:05:57 +00:00
|
|
|
public:
|
|
|
|
CDebuggerUI();
|
|
|
|
~CDebuggerUI();
|
|
|
|
|
|
|
|
private:
|
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:
|
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);
|
2018-01-10 07:05:57 +00:00
|
|
|
void OpenMemoryDump(void);
|
|
|
|
void OpenMemoryWindow(void);
|
2017-09-13 10:36:03 +00:00
|
|
|
void Debug_ShowMemoryLocation(uint32_t Address, bool VAddr);
|
2018-01-10 07:05:57 +00:00
|
|
|
void OpenMemorySearch(void);
|
|
|
|
void OpenTLBWindow(void);
|
2017-09-13 10:36:03 +00:00
|
|
|
void Debug_RefreshTLBWindow(void);
|
2018-01-10 07:05:57 +00:00
|
|
|
void OpenCommandWindow(void);
|
2017-09-13 10:36:03 +00:00
|
|
|
void Debug_ShowCommandsLocation(uint32_t address, bool top);
|
2018-01-10 07:05:57 +00:00
|
|
|
void OpenScriptsWindow(void);
|
2017-09-13 10:36:03 +00:00
|
|
|
void Debug_LogScriptsWindow(const char* text);
|
|
|
|
void Debug_ClearScriptsWindow(void);
|
|
|
|
void Debug_RefreshScriptsWindow(void);
|
|
|
|
void Debug_RefreshSymbolsWindow(void);
|
2018-01-10 07:05:57 +00:00
|
|
|
void OpenSymbolsWindow(void);
|
|
|
|
void OpenStackTraceWindow(void);
|
|
|
|
void OpenStackViewWindow(void);
|
2017-09-13 10:36:03 +00:00
|
|
|
void Debug_RefreshStackWindow(void);
|
|
|
|
void Debug_RefreshStackTraceWindow(void);
|
2018-01-10 07:05:57 +00:00
|
|
|
void OpenDMALogWindow(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
|
|
|
};
|