Когда C# или VB.Net консоли программы отлажена консоль закрывает как только программу заканчивается и нет никакой возможности увидеть выход. Как я могу держать его открытым?Как приостановить программу консоли Windows, отлаживается
ответ
Я часто вижу такие вопросы. Часто предложение заключается в использовании Console.ReadKey() или что-то в этом роде, но это неприемлемо для использования в производстве. Мое предпочтение состоит в том, чтобы просто поставить точку останова на последней строке Main, или где-то в этом роде.
Я считаю, что хорошей альтернативой является использование Debugger.IsAttached, чтобы определить, отлаживается ли консольная программа. Ниже приведен простой пример того, как его можно использовать. Это код C#, но я надеюсь, что его легко конвертировать в VB .Net.
using System;
namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Testing");
if (System.Diagnostics.Debugger.IsAttached)
{
Console.WriteLine("Debugging; press a key to continue...");
Console.ReadKey();
}
}
}
}
Недостаточно проверить на отладчик, это также провалится, если пользователь создаст ярлык для программы на своем рабочем столе. –
Для быстрого доступа к программе на рабочем столе я не считаю ее неудачной, поскольку это нормальное поведение для консольных программ. Пользователь ожидает, что нужно что-то сделать для консольных программ, нам не нужно вносить что-то особенное в наш код. – user34660
#define DEBUG
// ...
#if DEBUG
Console.WriteLine("Debug version");
#endif
Будет ли это исключать выполнение соответствующего кода для сборки отладки, выполняемой вне отладчика? Вне отладчика мы автоматически получаем «Нажмите любую клавишу, чтобы продолжить». – user34660
@ user34660 no, вам нужно указать сборку для режима отладки/выпуска. –
Если вы не хотите, чтобы отладить только Нажмите (Ctrl + F5). В противном случае, если вы хотите отлаживать только положительную точку останова в последней строке вашего кода
Вы можете использовать Console.ReadKey();
в конце вашей программы.
Console.ReadKey();
блокирует текущий поток до тех пор, пока не будет нажата клавиша или функциональная клавиша.
Да, я сказал, что точка останова - это то, что я использую. Обратите внимание, что в моем ответе используется Console.ReadKey(), за исключением твиста. – user34660
- 1. Как приостановить программу?
- 2. C# Как приостановить программу
- 3. Как приостановить эту программу opengl?
- 4. Как приостановить программу на несколько миллисекунд?
- 5. Как приостановить выключение Windows
- 6. Как приостановить программу до завершения nsurlconnection?
- 7. странная ошибка - как приостановить программу java?
- 8. как приостановить программу на несколько секунд?
- 9. Как остановить или приостановить эту программу?
- 10. Как приостановить, возобновить и остановить программу Sikuli?
- 11. Как приостановить процесс и продолжить программу?
- 12. Как приостановить программу на несколько секунд
- 13. Как запланировать программу java-консоли в linux
- 14. Как отлаживается код Silverlight
- 15. Как отлаживается ассоциация akka?
- 16. Альтернатива для Thread.Sleep() временно приостановить программу
- 17. Я хочу приостановить и возобновить свою программу
- 18. Хотите приостановить программу сортировки, а затем возобновить
- 19. java, нужно приостановить программу на 0,5 секунды
- 20. Почему мой проект не отлаживается?
- 21. Как запустить консольную программу из другой консоли?
- 22. Как запустить программу Java без консоли
- 23. Как выполнить программу и получить вывод консоли?
- 24. Как запустить программу с удаленной консоли PowerShell?
- 25. C++ - полностью приостановить приложение Windows
- 26. Как приостановить таймер в телефоне Windows?
- 27. Как приостановить backgroundWorker в Windows Form
- 28. Как правильно приостановить/задержать приложение Windows Forms
- 29. Как приостановить секундомер в телефоне Windows?
- 30. Как определить, отлаживается ли процесс
Обратите внимание, что это вопрос, на который я дал ответ. Ответ не существует ранее. Если бы я отправил свой ответ в другом вопросе, тогда я бы не узнал. – user34660