Диалоговое окно просмотра Visual Studio 2008 после нажатия точки останова - PullRequest
1 голос
/ 16 января 2009

Я создаю приложение C ++ MFC, которое создает модальные диалоговые окна, по одному за раз, скрывая родительский диалог. Я хочу просмотреть недавно созданные модальные диалоговые окна, когда достигается точка останова при отладке в Visual Studio. Однако при каждом достижении точки останова содержимое диалогового окна больше не отображается. Коробка просто становится белой или сохраняет любое изображение, наложенное поверх него. Когда программа возобновляется, диалоговое окно отображается нормально, но мне нужно иметь возможность просматривать диалоговое окно при достижении точки останова, когда программа «приостановлена» отладчиком Visual Studio.

Ответы [ 2 ]

9 голосов
/ 16 января 2009

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

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

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

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

0 голосов
/ 17 января 2009

Есть еще одна вещь, которую вы можете сделать, временно поставить dialog.Invalidate(); dialog.SendMessage(WM_PAINT); после точки останова, убедиться, что Visual Studio и диалог не перекрываются, затем перешагнуть через сообщение рисования. Если диалоговое окно пустое, оно должно заполниться.

Существует множество проблем с настройкой удаленной отладки, но как только вы освоите ее, она станет бесценной. Он определенно позаботится о вашей текущей ситуации, и как только у вас будет готовая среда, вы быстрее решите будущие ошибки. Много раз я сталкивался с проблемой и говорил: «Если бы у меня была только хорошая среда удаленной отладки, я бы сделал A, но вместо этого я сначала попробую плохое решение B ...»

...