debugging 如何强制glfwInit()失败以进行调试?

7hiiyaii  于 2023-03-23  发布在  其他
关注(0)|答案(1)|浏览(114)

How can I force SDL_Init() to fail?类似,我想强制glfwInit()失败,以确保我的错误日志记录代码正常工作。我该如何做到这一点?我在Linux上,所以Linux兼容的答案是感激的。

3htmauhk

3htmauhk1#

glfwInit()可能在多种情况下失败

  • 如果未连接显示器
  • 如果您正在使用为错误的窗口系统(such as Wayland on X11)编译的GLFW库
  • 无法加载GLFW所依赖的动态库
  • 如果在Wayland上,合成器不提供xdg-shell协议(替换为wl-shell)。
  • 等等

最好的办法是查看GLFW的源代码,看看是否能在_glfwInitX11_glfwInitWayland中找到可以使其失败的东西。
如果这些都不能实现,您可以尝试自己编译GLFW,在重写glfwInit以使每个调用都失败之后。

相关问题