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.
  • OllyDbg Cauterite via Digitalmars-d-debugger
    • Re: OllyDbg Cauterite via Digitalmars-d-debugger
    • Re: OllyDbg Cauterite via Digitalmars-d-debugger
      • Re: OllyDbg Martin Krejcirik via Digitalmars-d-debugger

Reply via email to