Если вы знакомы с программированием сокетов (или вообще с любым другим механизмом IPC), вы можете включить некоторый слушатель в вашем приложении и разработать внешнее приложение, которое выполнит все «консольные» действия за вас. , при общении с основным приложением.
Предположим, у вас есть приложение, которое имеет одну кнопку и одну текстовую метку, и каждый раз, когда вы нажимаете эту кнопку - текстовая метка увеличивается на 1, с 1 до 2 до 3 и т. Д.
Вы можете встроить слушатель сокета в это приложение. Когда слушатель сокета принимает новое входящее соединение, вы запускаете поток соединения, который может:
- Получить команду "shutdown"
- Получить команду «сброс счетчика»
- Отправка обновлений о текущем числе на каждый клик
- и т.д.
Затем вы создаете другое внешнее приложение, которое подключается к основному приложению и отправляет ему сообщения на основе консольного ввода, получаемого от пользователя. Он также будет прослушивать входящие обновления и показывать их пользователю.
Использование внешнего приложения для отладки и управления вашим основным приложением чрезвычайно полезно, со следующими преимуществами:
- Независимо от того, как глючит приложение отладки, оно не может повредить версию выпуска вашего основного приложения.
- Весь код, относящийся к управлению консолью, который является избыточным для вашего основного приложения, может храниться вне основного приложения.
- Создание из него двух проектов может облегчить совместную работу с кем-то еще, если вы оба знаете о протоколе между двумя сторонами.
- Реализация предложенного мной означает, что вы можете удаленно отлаживать свое приложение, если у вас нет доступа к основному приложению (например, если оно находится на сайте клиента).