diff --git a/project.4coder b/project.4coder index 3db6f2ed..ed349729 100644 --- a/project.4coder +++ b/project.4coder @@ -54,6 +54,15 @@ commands = .save_dirty_files = true, .cursor_at_end = false, }, + .rjf_f2 = + { + .win = "build raddbg_from_pdb", + .linux = "", + .out = "*compilation*", + .footer_panel = true, + .save_dirty_files = true, + .cursor_at_end = false, + }, .rjf_f3 = { .win = "pushd build && raddbg.exe && popd", @@ -121,6 +130,7 @@ fkey_command_override = .rjf = { .F1 = "rjf_f1", + .F2 = "rjf_f2", .F3 = "rjf_f3", }, }; diff --git a/src/raddbg_convert/pdb/raddbg_from_pdb.c b/src/raddbg_convert/pdb/raddbg_from_pdb.c index 1484b965..3481e9ca 100644 --- a/src/raddbg_convert/pdb/raddbg_from_pdb.c +++ b/src/raddbg_convert/pdb/raddbg_from_pdb.c @@ -763,7 +763,13 @@ pdbconv_type_equip_members(PDBCONV_Ctx *ctx, CONS_Type *owner_type, CV_TypeId fi // discard cases - we don't currently do anything with these case CV_LeafKind_VFUNCTAB: - {}break; + { + // TODO(rjf): error if bad range + if(list_item_off + sizeof(CV_LeafVFuncTab) <= cap) + { + list_item_opl_off = list_item_off + sizeof(CV_LeafVFuncTab); + } + }break; // unhandled or invalid cases default: