在将现有 32 位 MFC 代码迁移到 64 位的过程中,我成功构建并尝试测试代码
不幸的是,在测试过程中似乎失败(相当崩溃)
失败的堆栈
hWnd = ::CreateDialogIndirect(hInst, lpDialogTemplate, pParentWnd->GetSafeHwnd(), AfxDlgProc);
CreateDlgIndirect(lpDialogTemplate, CWnd::FromHandle(hWndParent), hInst)
CDialog::DoModal()
没有生成转储,也没有生成的异常被 SEH 捕获
我尝试将调试运行与现有的 Win32 调试运行进行比较,但找不到任何显着差异
在这一刻,我不知道我应该如何进行。任何形式的帮助都备受期待
异常信息: xyz.exe 中 0x000007fefd89a5ed (KernelBase.dll) 处的第一次机会异常:0x00001234:0x1234。
实际问题
实际问题是由于正在发生的指针截断导致它崩溃。@OwenWengered 的解决方案确实帮助我查明了问题并处理了我目前正在工作的所有此类指针截断。我很幸运:-)