diff --git a/dependencies/vmprofiler b/dependencies/vmprofiler index 05c98b1..7918578 160000 --- a/dependencies/vmprofiler +++ b/dependencies/vmprofiler @@ -1 +1 @@ -Subproject commit 05c98b1ef57c3375ffd455221a3be1be6110d4eb +Subproject commit 7918578b9ea89ac18eba1fe120679c0978612894 diff --git a/src/main.cpp b/src/main.cpp index 6e2bb8c..146a259 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -282,7 +282,7 @@ int __cdecl main( int argc, const char *argv[] ) output.write( reinterpret_cast< const char * >( &file_header ), sizeof file_header ); output.write( reinterpret_cast< const char * >( module_base ), image_size ); - for ( auto [ vm_enter_offset, virt_rtn ] : virt_rtns ) + for ( auto& [ vm_enter_offset, virt_rtn ] : virt_rtns ) { vmp2::v4::rtn_t rtn{ virt_rtn.size() }; std::vector< vmp2::v4::code_block_t * > vmp2_blocks; diff --git a/src/vmemu_t.cpp b/src/vmemu_t.cpp index f17c388..e94c308 100644 --- a/src/vmemu_t.cpp +++ b/src/vmemu_t.cpp @@ -479,6 +479,7 @@ namespace vm obj->vip_begins.push_back( obj->cc_block->code_block.vip_begin ); } + vinstr.value().trace_data.vm_handler_rva = ( vm_handler_addr - obj->g_vm_ctx->module_base ); obj->cc_block->code_block.vinstrs.push_back( vinstr.value() ); if ( vm_handler.profile )