Visual Studio调试器输出 - 相同的输出但格式不同(如一个项目中的十进制输出,另一个项目中的十六进制)

twe*_*ypi 2 debugging directx pointers visual-studio

我通过将一些DirectX代码重新实现到不同的项目中来学习一些DirectX编程,但我确实发现调试器似乎在两个项目(示例和我的项目)之间输出不同的数据.

在我的项目上,如果我这样做:

D3DSURFACE_DESC desc;
pTarget->GetLevelDesc(0,&desc);
int width = desc.Width;
int height = desc.Height;
Run Code Online (Sandbox Code Playgroud)

并且调试器输出宽度和高度我得到十进制结果,但是在directx样本中结果是十六进制(两者实际上都是准确的,当我将十六进制转换为十进制时似乎是合适的).

另一个(略微)次要问题是调试器向我提供有关vairous DirectX相关指针的信息的方式.例如,在我的项目中,当我停止执行并将鼠标移到指针上时,我得到一些中文字符,空指针以及所有这些(纹理仍然有效并且100%工作),但在DirectX示例中我得不到事实上它除了它是一个DirectX基类型(我的项目没有做的事情)之外,它不提供指针的任何信息.

所以我只是想知道,为什么会这样,是否有任何我可以使用的调试选项使它们工作相同?

i_a*_*orf 8

在"调试"工具栏上(右键单击工具栏并确保选中"调试"),可以切换"十六进制"按钮.这可以控制调试器是显示十六进制值还是十六进制值.你可能只是在不同的地方设置不同.

您还可以右键单击小检查工具提示中的变量值,当您检查它并打开/关闭Hex时,它会出现.