Отладка полноэкранного приложения - PullRequest
3 голосов
/ 29 ноября 2008

Учитывая, что у меня только один монитор, как лучше отлаживать программу, которая использует весь экран (например, приложение DirectX)? Инструменты, такие как пошаговый отладчик, в этом контексте кажутся бесполезными. Кроме того, печать на консоли не так эффективна, так как вы можете смотреть на консоль только после завершения работы приложения.

Ответы [ 6 ]

6 голосов
/ 29 ноября 2008

Удаленная отладка не вариант?

В противном случае вы можете одолжить второй монитор (с видеокартой).

А если ничего не помогает, вы можете вернуться к звуковым сигналам.

(Или найдите себе старый матричный принтер и напишите каждую строку на принтере ;-))

4 голосов
/ 29 ноября 2008

Чтобы просто увидеть информацию во время выполнения, я бы наложил текст отладки на весь экран. Если бы это был я, я бы нацелил приложение на то, чтобы оно могло запускаться также в оконном режиме, хотя экранная отладка хороша для тестирования игры (если это игра).

0 голосов
/ 29 ноября 2008

Возможно, вы захотите прочитать эссе Джозефа Ньюкомберса об интерфейсах графических разработчиков по адресу http://www.flounder.com/gdi.htm

Возможно, вы не программируете в MFC, но у вас должно получиться несколько полезных идей. У него также есть много других интересных статей.

0 голосов
/ 29 ноября 2008

Вы можете протестировать 99% кода в оконном режиме, затем для частей, которые должны быть выполнены в полноэкранном режиме, вы можете перевести его в полноэкранный режим, запустить некоторый тест и вскоре вернуться назад (либо программно, либо с помощью alt- вкладка).

В основном я хочу подчеркнуть, что большая часть кода не будет зависеть от полноэкранного режима и может быть протестирована в небольшом окне.

0 голосов
/ 29 ноября 2008

Я пойду с тем, что сказал BCS, и добавлю, что DebugView от SysInternals позволяет вам подключаться к нему удаленно с другой машины.

0 голосов
/ 29 ноября 2008

printf отладка медленная, болезненная и дурацкая.

заполните код, полный строк трассировки, например

fprint(logfile,"%s:%d\n",__FILE__,__LINE__);

или поливатель вам нужен для вашего языка и запускайте его. после того, как вы сделали, вы можете пройти через то, что он сделал. Убедитесь, что у вас достаточно времени и места для жесткого диска. Это имеет некоторые преимущества, такие как то, что вы можете «запускать» вещи задом наперед и различать один проход с другим.

...