pykd/pykd/dbgengine.h

40 lines
1.1 KiB
C
Raw Normal View History

#pragma once
#include "dbgmem.h"
#include "variant.h"
namespace pykd {
// manage debug target
ULONG startProcess( const std::wstring &processName );
void detachProcess( ULONG processId = -1);
void terminateProcess( ULONG processId = -1);
void debugGo();
// system properties
ULONG ptrSize();
bool is64bitSystem();
//manage debug module
ULONG64 findModuleBase( const std::string &moduleName );
ULONG64 findModuleBase( ULONG64 offset );
ULONG64 findModuleBySymbol( const std::string &symbolName );
std::string getModuleName( ULONG64 baseOffset );
std::string getModuleImageName( ULONG64 baseOffset );
std::string getModuleSymbolFileName( ULONG64 baseOffset );
ULONG getModuleTimeStamp( ULONG64 baseOffset );
ULONG getModuleCheckSum( ULONG64 baseOffset );
// CPU registers
ULONG getRegIndexByName( const std::string &regName );
std::string getRegNameByIndex( ULONG index );
BaseTypeVariant getRegVariantValue( ULONG index );
ULONG64 getRegInstructionPointer();
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!
//std::string getSymbolByOffset( ULONG64 offset );
};