stepping is now 'working' (only problem is that it becomes slower over time)

This commit is contained in:
mrexodia 2015-12-20 06:37:42 +01:00
parent 63d2b72a0a
commit f0be9b62b6
2 changed files with 12 additions and 12 deletions

View File

@ -109,7 +109,7 @@ public:
}
//Stepping
void StepOver(LPVOID CallBack)
void StepOver(LPVOID CallBack) const
{
//TODO
StepInto(CallBack);
@ -122,24 +122,24 @@ public:
_thread->StepInto([this, StepCount, CallBack]()
{
if (!StepCount)
((STEPCALLBACK)CallBack)();
{
if (CallBack)
((STEPCALLBACK)CallBack)();
}
else
SingleStep(StepCount - 1, CallBack);
});
}
void StepInto(LPVOID CallBack)
void StepInto(LPVOID CallBack) const
{
if (!_thread || !CallBack)
return;
_thread->StepInto([CallBack]()
{
((STEPCALLBACK)CallBack)();
});
_thread->StepInto(STEPCALLBACK(CallBack));
}
//Registers
ULONG_PTR GetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister)
ULONG_PTR GetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister) const
{
if (!_thread)
return 0;
@ -208,7 +208,7 @@ protected:
}
private: //functions
Registers::R registerFromDword(DWORD IndexOfRegister)
static inline Registers::R registerFromDword(DWORD IndexOfRegister)
{
switch (IndexOfRegister)
{

View File

@ -283,15 +283,15 @@ __declspec(dllexport) bool TITCALL RemoveAllBreakPoints(DWORD RemoveOption)
//Stepping
__declspec(dllexport) void TITCALL StepOver(LPVOID traceCallBack)
{
//TODO
emu.StepOver(traceCallBack);
}
__declspec(dllexport) void TITCALL SingleStep(DWORD StepCount, LPVOID StepCallBack)
{
//TODO
emu.SingleStep(StepCount, StepCallBack);
}
__declspec(dllexport) void TITCALL StepInto(LPVOID traceCallBack)
{
//TODO
emu.StepInto(traceCallBack);
}