[Issue 12200] Strange crash while debugging in Win64

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Feb 18 21:22:22 PST 2014


https://d.puremagic.com/issues/show_bug.cgi?id=12200



--- Comment #1 from Manu <turkeyman at gmail.com> 2014-02-18 21:22:19 PST ---
Interestingly, the disassembly's very different in the actual context where I'm
experiencing this, but it still happens.

The disasm:
    case '[':    ++depth; step[depth] = 24;        break;
000007F6D341C19F  db          ffh  
000007F6D341C1A0  test        dword ptr [rax+48FFFFFDh],eax  
000007F6D341C1A6  movsxd      edx,dword ptr [depth]  
000007F6D341C1AC  cmp         rdx,10h  
000007F6D341C1B0  mov         qword ptr [rbp-368h],rdx  
000007F6D341C1B7  jb          db at song@Song at LoadDWI@ReadNotes+1DBh
(7F6D341C1CBh)  
000007F6D341C1B9  mov         ecx,429h  
000007F6D341C1BE  sub         rsp,20h  
000007F6D341C1C2  call        _D2db4song7__arrayZ (7F6D34208E0h)  
000007F6D341C1C7  add         rsp,20h  
000007F6D341C1CB  mov         rbx,qword ptr [rbp-368h]  
000007F6D341C1D2  lea         rsi,[step]  
000007F6D341C1D9  mov         dword ptr [rsi+rbx*4],18h  
000007F6D341C1E0  jmp         000007F6D341CA91  

Does that test (second instruction) look strange? rax is obviously a pointer,
and it's being dereferenced and compared to eax (lower half of itself)?
That's the instruction that causes the access violation in my in-context case.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list