问题描述
使用 SDL 为使用 Vulkan 的渲染引擎创建窗口。遵循 this 代码。以下是感兴趣的片段:
SDL_Init(SDL_INIT_VIDEO);
SDL_WindowFlags window_flags = (SDL_WindowFlags)(SDL_WINDOW_VULKAN);
_window = SDL_CreateWindow(
"Vulkan Engine",SDL_WINDOWPOS_UNDEFINED,_windowExtent.width,_windowExtent.height,window_flags
);
我使用的是 Visual Studio 2019。看到此错误,从源代码构建 SDL 作为 this answer 建议的 Vulkan 标志可能未在发布的二进制文件中启用。仍然,在创建窗口时出错。逐行调试指向这里作为事情中断的行:
return CallWindowProc(data->wndproc,hwnd,msg,wParam,lParam);
异常:
Exception thrown at 0x00007FFF584A4F8E (ntdll.dll) in GraphicsModel.exe: 0xC00000FD: Stack
overflow (parameters: 0x0000000000000001,0x000000ED25003FB8).
Unhandled exception at 0x00007FFF584A4F8E (ntdll.dll) in GraphicsModel.exe: 0xC000041D: An unhandled exception was encountered during a user callback.
让我知道是否应该粘贴完整的堆栈跟踪。无法弄清楚是什么原因,任何帮助都会很棒!
编辑:调用堆栈(确认无限递归)
ntdll.dll!00007ffb84e44f8e() UnkNown
user32.dll!00007ffb83345aa4() UnkNown
user32.dll!00007ffb833458ee() UnkNown
mfc140ud.dll!00007ffaf0091b05() UnkNown
user32.dll!00007ffb83345c1d() UnkNown
user32.dll!00007ffb833458ee() UnkNown
SDL2.dll!0000000075e4e7d0() UnkNown
user32.dll!00007ffb83345c1d() UnkNown
user32.dll!00007ffb833458ee() UnkNown
mfc140ud.dll!00007ffaf0091b05() UnkNown
user32.dll!00007ffb83345c1d() UnkNown
user32.dll!00007ffb833458ee() UnkNown
THIS BLOCK REPEATS 'n' times
---------------------------------------
SDL2.dll!0000000075e4e7d0() UnkNown
user32.dll!00007ffb83345c1d() UnkNown
user32.dll!00007ffb833458ee() UnkNown
mfc140ud.dll!00007ffaf0091b05() UnkNown
user32.dll!00007ffb83345c1d() UnkNown
user32.dll!00007ffb833458ee() UnkNown
---------------------------------------
SDL2.dll!0000000075e4e7d0() UnkNown
user32.dll!00007ffb83345c1d() UnkNown
user32.dll!00007ffb833457ec() UnkNown
user32.dll!00007ffb83354432() UnkNown
> ntdll.dll!00007ffb84ec0b04() UnkNown
win32u.dll!00007ffb82ea1524() UnkNown
SDL2.dll!0000000075e58ebe() UnkNown
SDL2.dll!0000000075e2172d() UnkNown
GraphicsModel.exe!VulkanEngine::init() Line 59 C++
GraphicsModel.exe!CMainFrame::OnCreate(tagCREATESTRUCTW * lpCreateStruct) Line 67 C++
[External Code]
GraphicsModel.exe!CGraphicsModelApp::InitInstance() Line 106 C++
[External Code]
GraphicsModel.exe!wWinMain(HINSTANCE__ * hInstance,HINSTANCE__ * hPrevInstance,wchar_t * lpCmdLine,int nCmdshow) Line 26 C++
[External Code]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)