This changes CV2PDB::addDWARFProc to take a sequence of address ranges. The first address range (which starts at the function entry point) still emits a S_GPROC_V3 block, but the additional ranges emit S_SEPCODE_V3 blocks which reference the S_GPROC_V3 block, so when the debugger displays an address in one of these ranges it will display as correct_function_name+large_offset_from_entry_address instead of unrelated_symbol+small_offset.
This changes
CV2PDB::addDWARFProc
to take a sequence of address ranges. The first address range (which starts at the function entry point) still emits aS_GPROC_V3
block, but the additional ranges emitS_SEPCODE_V3
blocks which reference theS_GPROC_V3
block, so when the debugger displays an address in one of these ranges it will display ascorrect_function_name+large_offset_from_entry_address
instead ofunrelated_symbol+small_offset
.This fixes issue #52.