鉴于我只有一台显示器,调试使用整个屏幕的程序(例如 DirectX 应用程序)的最佳方法是什么?在这种情况下,诸如分步调试器之类的工具似乎毫无用处。此外,打印到控制台也没有那么有效,因为您只能在应用程序终止后查看控制台。
6 回答
远程调试不行吗?
否则,您可以借用第二台显示器(带视频卡)。
如果所有其他方法都失败了,您可以返回哔声信号。
(或者给自己找一台旧矩阵打印机并将每一行写入打印机;-))
为了只查看一些运行时信息,我将在全屏中覆盖调试文本。如果是我,我会将应用程序定位为能够在窗口下运行 - 尽管屏幕调试非常适合游戏测试(如果这是一个游戏)。
printf 调试很慢,很痛苦,而且很简单。
将您的代码中充满跟踪行,例如
fprint(logfile,"%s:%d\n",__FILE__,__LINE__);
或 waterer 你需要你的语言并运行它。完成后,您可以浏览它所做的事情。不过,请先确保您有足够的时间和硬盘空间。它具有一些优势,例如您可以向后“运行”事物并将一次运行与下一次运行进行比较。
我将按照 BCS 的说法添加SysInternals 的 DebugView允许您从另一台机器远程连接到它。
您可以在窗口模式下测试 99% 的代码,然后对于需要在全屏模式下完成的部分,您可以让它跳转到全屏模式,运行一些测试,然后很快就跳回来(以编程方式或使用 alt-tab)。
基本上我想强调的是,大多数代码不会依赖于全屏,可以在一个小窗口中进行测试。
您可能需要考虑阅读 Joseph Newcombers 关于图形开发人员界面的文章,网址为http://www.flounder.com/gdi.htm
您可能没有在 MFC 中编码,但您应该能够获得一些有用的想法。他还有很多其他有趣的文章。