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

View File

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