Отладка приложений


Удаленная отладка


Теперь, когда читатель хорошо осведомлен относительно нюансов расширенных точек прерывания, обратимся к одной из скрытых возможностей отладчика Visual C++ — удаленной отладке. Удаленная отладка означает, что ваша программа и крошечная отладочная заглушка выполняются на одной (удаленной) машине, а отладчик — на другой (локальной) машине, причем связь поддерживается через протоколы TCP/IP1. Хотя с помощью отладчика Visual C++ можно многое сделать и на одиночной машине, иногда разумнее выбрать двухмашинный (удаленный) вариант отладки. Удаленную отладку полезно применять, столкнувшись с любой из следующих ситуаций (которые могут сложиться под влиянием отладчика с полным графическим интерфейсом пользователя — GUI-отладчика):

  • при отладке критического кода активизации окна;
  •  при отладке графических программ;
  •  если нужно освободить как можно больше памяти для приложения;
  •  при выполнении отладки в Windows 98;
  •  если программист не хочет радикально изменять конфигурацию машины, устанавливая полную интегрированную среду разработки Visual C++.

 Самая плохая ситуация — первая (отладка критического кода активизации окна). На отдельной машине пошаговая отладка через Windows-сообщение WM_SETFOCUS и аналогичные процессы невозможна, потому что в пошаговом режиме программа теряет фокус отладчика. GUI-отладчики это, конечно, великолепно, но принцип неопределенности Гейзенберга справедлив и применительно к отладчикам! Перемещение отладчика на отдельную машину позволяет как отладчику, так и вашей программе иметь свой собственный фокус, аккуратно обходя эту проблему.

Вторая ситуация, в которой удаленная отладка может дать значительную экономию времени — когда нужно отлаживать код графической программы. Хотя в простых случаях в системе с единственным монитором можно разделить отладчик и соответствующее приложение по разным углам экрана, бывают ситуации, когда отладчик нужно отправить на другую машину. Если приложению постоянно необходима большая часть экрана, или речь идет об отладке игрового приложения, использующего технологию Microsoft DirectX2, то без удаленной отладки не обойтись.




Начало  Назад  Вперед



Книжный магазин