Commit d6aff64c authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

winedump: Add support for dumping heap_alloc_site CodeView records.

parent 872c61ff
......@@ -1993,9 +1993,9 @@ static BOOL codeview_snarf(const struct msc_debug_info* msc_dbg, const BYTE* roo
TRACE("S-Align V1\n");
break;
case S_HEAPALLOCSITE:
TRACE("heap site: offset=0x%08x at sect_idx 0x%04x, inst_len 0x%08x, index 0x%08x\n",
sym->heap_alloc_site.offset, sym->heap_alloc_site.sect_idx,
sym->heap_alloc_site.inst_len, sym->heap_alloc_site.index);
TRACE("S-heap site V3: offset=0x%08x at sect_idx 0x%04x, inst_len 0x%08x, index 0x%08x\n",
sym->heap_alloc_site_v3.offset, sym->heap_alloc_site_v3.sect_idx,
sym->heap_alloc_site_v3.inst_len, sym->heap_alloc_site_v3.index);
break;
/* the symbols we can safely ignore for now */
......
......@@ -1751,8 +1751,8 @@ union codeview_symbol
unsigned int offset;
unsigned short sect_idx;
unsigned short inst_len;
unsigned int index;
} heap_alloc_site;
cv_typ_t index;
} heap_alloc_site_v3;
struct
{
......
......@@ -1791,6 +1791,15 @@ BOOL codeview_dump_symbols(const void* root, unsigned long size)
printf("\t\tfunc:%x invoc:%u\n", sym->function_list_v3.funcs[i], i < ninvoc ? invoc[i] : 0);
}
break;
case S_HEAPALLOCSITE:
printf("Heap-alloc-site V3 %04x:%08x#%x type:%04x\n",
sym->heap_alloc_site_v3.sect_idx,
sym->heap_alloc_site_v3.offset,
sym->heap_alloc_site_v3.inst_len,
sym->heap_alloc_site_v3.index);
break;
default:
printf("\n\t\t>>> Unsupported symbol-id %x sz=%d\n", sym->generic.id, sym->generic.len + 2);
dump_data((const void*)sym, sym->generic.len + 2, " ");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment