“图形事件调用堆栈”是 Visual Studio 中的一种图形诊断工具,可以帮助你映射图形日志中捕获到的图形事件和应用源代码之间的关系。
这就是“图形事件调用堆栈”:
备注
从 Visual Studio 2013 Update 3 开始,图形诊断工具窗口承载于 Visual Studio shell 的独立副本中。这个自定义 shell 被称为图形分析,它消除不必要的菜单和选项,否则图形事件调用堆栈和工作流将与之前的相同。有关这一更改的详细信息,请参阅 图形诊断概述。
了解图形事件调用堆栈
你可以使用“图形事件调用堆栈”来了解导致特定 Direct3D 事件的执行流。 它类似于 Visual Studio 调用堆栈窗口,不同之处在于,它不会显示正在运行的应用中活动线程的当前调用堆栈,而是在选定的 Direct3D 事件发生时显示存在的调用堆栈。 你可以从“图形事件调用堆栈”跳转到选定的 Direct3D 事件的调用站点,检查周围的代码。
通过使用“图形事件调用堆栈”标识问题事件源自的代码路径,你可以使用你的代码库知识推导出问题可能的来源,或者可以在应用源代码中添加断点,以便使用传统调试技术检查应用或事件参数的状态是如何导致事件错误行为的。 这一检查可以帮助你在源代码中找到问题,这些问题只显示为呈现问题。
图形事件调用堆栈信息
调用堆栈不支持框架前事件事件或用户定义的事件。 图形事件的调用堆栈以表格形式显示。
列 |
描述 |
---|---|
名称 |
包含调用站点的函数的唯一标识符号。 这个函数的调试符号在它可用时显示;否则将显示函数偏移量。 |
文件 |
包含调用站点的源代码文件或库文件的文件名。 |
位置 |
调用站点行号。 |
指向图形对象的链接
如果要了解选定的图形事件,你可能需要了解与它关联的 Direct3D 对象的有关信息。 “图形事件调用堆栈”提供了指向这一信息的链接。