考虑到我只有一个显示器,那么调试使用整个屏幕(如DirectX应用程序)的程序的最佳方法是什么?在这种情况下,步骤调试器等工具似乎没有用处。此外,打印到控制台并不太有效,因为只有应用程序终止后才能查看控制台。
考虑到我只有一个显示器,那么调试使用整个屏幕(如DirectX应用程序)的程序的最佳方法是什么?在这种情况下,步骤调试器等工具似乎没有用处。此外,打印到控制台并不太有效,因为只有应用程序终止后才能查看控制台。
远程调试不可行?
否则,您可以借用第二个带有视频卡的显示器。
如果所有其他方法都失败了,您可以回到蜂鸣信号。
(或者找一台旧的点阵打印机并将每行写入打印机;-))
为了仅查看一些运行时信息,我会在全屏模式下叠加调试文本。如果是我,我会使应用程序能够以窗口化方式运行,虽然屏幕上的调试信息对于游戏测试很有帮助。
printf 调试很慢、痛苦且不可靠。
在你的代码中填满跟踪行,比如
fprint(logfile,"%s:%d\n",__FILE__,__LINE__);
或者您需要的任何语言和运行它。完成后,您可以查看其所做的操作。但首先确保有足够的时间和硬盘空间。它有一些优点,例如您可以“倒着”运行事务并比较前后两次运行的不同之处。
您可以在窗口模式下测试99%的代码,然后对于需要在全屏模式下完成的部分,您可以让它跳转到全屏模式,运行一些测试,然后很快跳回来(可以通过编程或使用alt-tab实现)。
基本上,我想强调大多数代码不会依赖于全屏模式,并且可以在小窗口中进行测试。
你可能想要考虑阅读Joseph Newcomber在http://www.flounder.com/gdi.htm上关于图形开发界面的文章。
虽然你可能不会使用MFC编码,但你应该能够获得一些有用的想法。他还有很多其他有趣的文章。