Точка останова зависает на основе DirectX программы в полноэкранном режиме - PullRequest
1 голос
/ 28 апреля 2011

Я начал создавать игру, у меня есть глобальный класс, который читает в CSV-файл, загружает две прямые поверхности x и создает фон.

поверхности - это лист плитки, а другой - фон, созданный из плиток. фоновая поверхность не работает, после закапывания я проверяю, и если пусто, появляется окно сообщения. Всегда отображается окно сообщения.

Я попытался установить точки останова, чтобы увидеть, читаются ли значения в файле csv, но программа не запускается. на панели задач появляется окно, программа переходит в полноэкранный режим, но экран становится черным и не отображает окно сообщения и может быть остановлен только с помощью Ctrl, Alt, Del.

Независимо от того, где я поставил точку останова, даже если это происходит в другом исходном файле, это происходит. кто-нибудь знает почему?

p.s это не многопоточное приложение.

Edit:

Я использую Visual Studio 2005 и Direct X 9.C

Ответы [ 3 ]

3 голосов
/ 28 апреля 2011

При использовании directshow может возникнуть проблема с отладкой в ​​полноэкранном режиме: если вам действительно нужно это сделать, я предлагаю использовать второй экран (таким образом, вы можете отлаживать на экране 1, пока ваша программа работает в полноэкранном режиме на ваш экран2).

Если это не сработает, вам придется использовать удаленную отладку (т.е. запустить программу на компьютере и отладить на другом).

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

Для того, чтобы я:

  • запуск в оконном режиме
  • запуск в режиме двойного экрана с отладчиком на другом экране
  • попытаться настроить удаленную отладку (удачи)
  • возможно использовать старый добрый способ отладки с помощью printf / traces (например, log4cpp)
0 голосов
/ 23 декабря 2013

принудительно в оконном режиме, вы можете изменить или подключить приложение

0 голосов
/ 28 апреля 2011

В Visual Studio, если ваш проект не настроен в режиме отладки (а вместо этого настроен как выпуск), вы не сможете отлаживать, поэтому любые установленные вами точки останова будут игнорироваться.Это может быть проблемой.

...