Сегодня я столкнулся с проблемой, которую мне нужно было для удаленной отладки программы. Программа была запущена из другой системы, поэтому у меня действительно нет возможности взаимодействовать с ней в командной строке. Я мог бы легко изменить его источник.Как подождать до тех пор, пока не будет удален удаленный отладчик .NET
Что мне нужно было для того, чтобы программа запускалась нормально, а затем дождалась, когда я приложу ее с помощью отладчика. Я не мог придумать способ сделать это, что сделало меня счастливым. Я нашел ошибку, но без помощи отладчика.
while(true) { }
Хранится процесс живой, и тогда я мог бы «установить следующее утверждение» с помощью отладчика, но это казалось неловким и грубым.
Console.ReadLine();
Показалось странным типа, так как там не было на самом деле консоль для меня нажать войти в. (Это также не сработало). Установите следующий оператор, а затем запустите его обратно в ожидание ReadLine().)
Итак, какой код я могу вставить в программу .NET/CLR/C#, в которой говорится: подождите здесь, пока я не смогу подключиться с помощью отладчика "?
Спасибо за этот ответ.Я знал, что должен быть способ проверить код, если отладчик был прикреплен, и это был первый/лучший удар, который я получил от поиска. – 2009-09-30 21:28:25
Замена while с помощью if и sleep с помощью assert может быть лучшим решением, поскольку это позволит вам продолжать работу, если вы не хотите каждый раз присоединять отладчик. – Luke 2011-08-13 15:30:39
Возможно ли использовать какое-либо событие из `Debugger` и ждать некоторого` AutoResetEvent` до того, как будет запущено событие IsAttached? – Pixar 2015-08-27 11:59:15