OllyDbg
Cauterite via Digitalmars-d-debugger
digitalmars-d-debugger at puremagic.com
Wed Oct 21 09:16:58 PDT 2015
I think I've managed to fix the crashes caused by loading PDB
files. It was happening fairly often today, but I found some
details here:
http://doar-e.github.io/blog/2013/09/09/pinpointing-heap-related-issues-ollydbg2-off-by-one-story/
OllyDbg is closed-source, so the fix involves editing the binary
(just a single instruction though).
The decompiled code in the article shows this line:
u->mem1_ov = (unsigned int *)Memalloc(12 * (nb_lines + 1), 3);
Increasing the size passed to Memalloc here seems to avoid the
bug.
I did that by changing the instruction at 0x004CE5E3 from
lea edx, [edx*2+edx]
to
lea edx, [edx*4+edx]
The CRC32 of my original ollydbg.exe is 0x464dbcdb.
With this patch, it should become 0x8376f767.
Version is '2.01 (beta 2)', by the way.
Now OllyDbg reliably uses the debug data generated by cv2pdb for
executables generated by DMD. I hope this fix works for you too.
More information about the Digitalmars-d-debugger
mailing list