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