OutputDebugString在X64出现异常 0xC0000005

xxxxx.exe 中的 0x78ebb746 处最可能的异常: 0xC0000005: 读取位置 0xffffffffffffffff 时发生访问冲突
对应位置指令
0000000078EBB746 0F AE 81 00 01 00 00 fxsave [rcx+100h]
这个指令可以查看说明
https://www.felixcloutier.com/x86/fxsave
对xmm操作是需要16byte对齐, 当rcx没有16对齐时就会报错

rcx所指向的对象是在rsp上分配, 所以函数调用时的rsp没对齐就会导致问题
如果程序中使用了汇编生成代码, 就需要注意在函数调用时注意rsp的对齐问题

posted @ 2023-01-29 19:03  Yofoo  阅读(76)  评论(1编辑  收藏  举报