mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-21 12:53:23 +08:00

~ bind stack frame to debug client + get local vars from stack frame git-svn-id: https://pykd.svn.codeplex.com/svn@73631 9b283d60-5439-405e-af05-b73fd8c4d996
39 lines
867 B
C++
39 lines
867 B
C++
//
|
|
// Stack frame: DEBUG_STACK_FRAME wrapper
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "dbgclient.h"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
namespace pykd {
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
class StackFrame
|
|
{
|
|
public:
|
|
StackFrame(DebugClientPtr client, const DEBUG_STACK_FRAME &frame);
|
|
|
|
ULONG m_frameNumber;
|
|
|
|
ULONG64 m_instructionOffset;
|
|
ULONG64 m_returnOffset;
|
|
ULONG64 m_frameOffset;
|
|
ULONG64 m_stackOffset;
|
|
|
|
python::dict getLocals(ContextPtr ctx = ContextPtr());
|
|
|
|
std::string print() const;
|
|
private:
|
|
DebugClientPtr m_client;
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
} // namespace pykd
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|