[✔️]gDebugger使用心得

618 阅读1分钟

gDEBugger 是一个开源的图形化调试工具,它可以帮助开发者调试 OpenGL、OpenCL 和 Vulkan 应用程序,以及其他的图形应用程序。最初由 AMD 公司创建,现在被称为 CodeXL。

gDEBugger 提供了许多功能强大的调试工具,包括:

  • 帧缓冲查看器:显示 OpenGL 或 Vulkan 应用程序的帧缓冲,并允许您检查每个像素的值。
  • 着色器调试器:允许您单独调试顶点和片段着色器,并查看和修改着色器变量的值。
  • OpenCL 和 Vulkan 调试器:帮助您调试 OpenCL 和 Vulkan 的内核函数,并查看和修改变量的值。
  • 性能分析工具:可帮助您识别性能瓶颈,并指导您优化代码。

如何运行游戏的exe?

GDebugger有project的概念,需要为目标exe新建一个工程:

根据游戏情况,选择合适的项目类型,cocos2dx选择OpenGL即可

选择游戏的exe文件

选择判断每帧结束的函数

最终将这个工程保存起来,方便后续直接使用:

如何调试游戏

点击Go,让游戏运行起来:

当游戏启动后,点击Break捕获当前帧,同时游戏也会阻塞在当前帧

如果想要观察某一个时间段,可能需要Record下,有点类似浏览器devtools的profile

如何判断游戏是不是OpenGL

使用unity发布的exe,发现gdebugger无法break

在debugged process event里面发现日志:

Debug String: Detected error: The debugged process asked for an extension function pointer (glBufferData) from one render context, but called this function pointer in another render context (context #4)