2019-03-24 12:05:51 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "DebugTypes.h"
|
|
|
|
|
|
|
|
class Debugger;
|
|
|
|
|
|
|
|
class CallstackManager
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
Debugger* _debugger;
|
|
|
|
deque<StackFrameInfo> _callstack;
|
|
|
|
|
|
|
|
public:
|
|
|
|
CallstackManager(Debugger* debugger);
|
|
|
|
|
|
|
|
void Push(uint32_t srcAddr, uint32_t destAddr, uint32_t returnAddress, StackFrameFlags flags);
|
|
|
|
void Pop(uint32_t destAddr);
|
|
|
|
|
|
|
|
void GetCallstack(StackFrameInfo* callstackArray, uint32_t &callstackSize);
|
2019-03-24 16:42:52 -04:00
|
|
|
int32_t GetReturnAddress();
|
2019-03-24 12:05:51 -04:00
|
|
|
};
|