You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vmprofiler-qt/src/vmctx.h

24 lines
806 B

#pragma once
#include <vmprofiler.hpp>
namespace vm
{
class vmctx_t
{
public:
explicit vmctx_t( vmp2::file_header *file_header, vmp2::entry_t *entry_list,
std::vector< vm::handler::handler_t > &vm_handlers, std::uintptr_t module_base,
std::uintptr_t image_base );
std::pair< std::string, const vmp2::entry_t * > step() const;
private:
std::uintptr_t get_imm( vmp2::exec_type_t exec_type_t, std::uint32_t vip_offset, std::uint8_t imm_size ) const;
mutable std::uint32_t idx;
const std::uintptr_t image_base, module_base;
const vmp2::entry_t *entry_list;
const vmp2::file_header *file_header;
std::vector< vm::handler::handler_t > vm_handlers;
};
} // namespace vm