debugger improvments

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@25 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
fires.gc
2008-07-17 21:46:34 +00:00
parent 91ccda69ef
commit 343d1ece11
12 changed files with 186 additions and 41 deletions

View File

@ -224,7 +224,7 @@ THREAD_RETURN EmuThread(void *pArg)
VideoInitialize.pGetMemoryPointer = Memory::GetPointer;
VideoInitialize.pSetPEToken = PixelEngine::SetToken;
VideoInitialize.pSetPEFinish = PixelEngine::SetFinish;
VideoInitialize.pWindowHandle = NULL; // _CoreParameter.hMainWindow; // NULL; // filled by video_initialize
VideoInitialize.pWindowHandle = _CoreParameter.hMainWindow; // NULL; // filled by video_initialize
VideoInitialize.pLog = Callback_VideoLog;
VideoInitialize.pRequestWindowSize = NULL; //Callback_VideoRequestWindowSize;
VideoInitialize.pCopiedToXFB = Callback_VideoCopiedToXFB;

View File

@ -18,6 +18,12 @@
// Lame slow breakpoint system
// TODO: a real one
//
// [F|RES]: this class isn't really nice... for a better management we should use a base class for
// breakpoints and memory checks. but probably this will be slower too
//
#include "Common.h"
#include "../HW/CPU.h"
@ -154,6 +160,37 @@ void CBreakPoints::AddAutoBreakpoints()
AddBreakPoint(symbol.vaddress, false);
}
}
Host_UpdateBreakPointView();
#endif
#endif
}
void CBreakPoints::DeleteElementByAddress(u32 _Address)
{
// first check breakpoints
{
std::vector<TBreakPoint>::iterator iter;
for (iter = m_BreakPoints.begin(); iter != m_BreakPoints.end(); ++iter)
{
if ((*iter).iAddress == _Address)
{
m_BreakPoints.erase(iter);
Host_UpdateBreakPointView();
return;
}
}
}
// second memory check checkpoint
std::vector<TMemCheck>::iterator iter;
for (iter = m_MemChecks.begin(); iter != m_MemChecks.end(); ++iter)
{
if ((*iter).iStartAddress == _Address)
{
m_MemChecks.erase(iter);
Host_UpdateBreakPointView();
return;
}
}
}

View File

@ -25,7 +25,7 @@
struct TBreakPoint
{
u32 iAddress;
u32 iAddress;
bool bOn;
bool bTemporary;
};
@ -83,6 +83,8 @@ public:
static void AddAutoBreakpoints();
static void DeleteElementByAddress(u32 _Address);
private:
static TBreakPoints m_BreakPoints;

View File

@ -46,7 +46,7 @@ namespace Memory
// GLOABL DEFINES
// #define NOCHECK
#define NOCHECK
static const bool bFakeVMEM = false;