Closed Cauterite closed 8 years ago
You are using non-ASCII characters in your identifiers. This is rather problematic with Win32 builds because DMD compresses long symbols, disregarding the fact that it's impossible later to distinguish between UTF8 encoding and compression. I've fixed the crashes and disabled decompression on fields, should be more stable now.
BTW: There is a prebuilt binary available following the link in the "Releases" tab.
This is great news. Thanks so much, it's working perfectly now. I never would have expected UTF identifiers to be the cause, because I use them in every project and cv2pdb hadn't choked on them before.
I'm experiencing a crash in CV2PDB::appendClassTypeEnum when it attempts to
memmove()
a negative number of bytes.This is an EXE file which triggers the crash for me: https://openload.co/f/K76jjq2NBl8/entrypoint.zip Generated by DMD 2.071.1 with
-g
on 32-bit Windows.This is the state of the relevant variables at that point (as far as I could determine):
Looks to me like
fieldlen
(equal tofieldlist->generic.len + 2
) is much higher than it should be.I'm not sure what other information would be helpful in diagnosing this bug, but please let me know how I can help. I'll do anything to get this fixed, I just wish I had the skills to understand what's going on here.