Debugging 0xc000001d exception with WinDbg

Viewed 4515

I'm trying to find a root cause of the "Illegal instruction" exception (0xc000001d) with WinDbg. The project was built with VC++2015. I've got two memory dumps from two test runs.

For now I found the following that is true for both dumps:

  • the exception points to the "movq mmword ptr [ecx], xmm0" instruction
  • xmm0 contains zeros
  • the exception occurs in an object constructor
  • the address is inside DS
  • the address belongs to a heap entry which looks valid
  • the address points to the object is being constructed, so it seems like it tries to put zero to the obj.m_data member that looks valid too

I have no idea where to go further, so I'd appreciate any directions.

UPD:

...
movq    xmm0,mmword ptr [esi]
lea     ecx,[edi+94h]
movq    mmword ptr [ecx],xmm0 ; << this causes the exception
1 Answers
Related