Dave Hawkes wrote:
Yes, this partially fixed one warning message (which could be due to GCC3), though I still get the type mismatches.
well, the warning you got (in Bool type) may be caused by GCC3 (some other stabs information), but not the one in Copyfield. this one comes from an error in MSC debug info, so GCC shouldn't play role (except if there's memory trashing)
Example type mismatch (from your previous debugging code):
Copyfield list mismatch (4<>1): enum :__unnamed --invalid--*
hmm this sounds like C++ code... which winedbg doesn't currently handle properly... there's also lots of unsupported features in MSC debug info loading (see debugger/msc.c for an outlook) (could you anyway tell me the def of CDecBorderDialogBarPage)
this will be rather hard to debug and fix remotely...
I also now only get this warning after the type mismatch warning.
failure on _Bool:t(0,21)=@s8;-16; at ;
well, it seems we need to chew the ';' too (but this won't fix the issue above) add if (*ptd->ptr++ != ';') return -1; in the patch I already sent you (here's the whole modif)
case '-': if (DEBUG_PTS_ReadNum(ptd, &lo) == -1) { DEBUG_Printf(DBG_CHN_MESG, "Should be a number...\n"); return -1; } switch (lo) { case 1: new_dt = DEBUG_TypeInt; break; case 7: new_dt = DEBUG_TypeShortUInt; break; case 16: new_dt = DEBUG_TypeUSInt; break; case 19: new_dt = DEBUG_TypeString; break; default: DEBUG_Printf(DBG_CHN_MESG, "Unsupported integral type (%d)\n", lo); return -1; } if (*ptd->ptr++ != ';') return -1; break;