Итак, моя программа на С# прекращает/прерывает/закрывает/сбой внезапно даже в режиме отладки. Как я могу сделать это break/pause/stop, чтобы узнать, где его вызвали?
Установите точку останова (щелкнув слева от номеров строк - это красный круг), который, как вы знаете, находится перед точкой, где он сработает, а затем пройдите через него (используя F8). Последнее утверждение, в котором вы находитесь, - это тот, с которым он врезался.
Вы можете узнать больше, используя обработчик необработанных исключений. Однако, если вы находитесь в режиме отладки, вы можете увидеть его по умолчанию. Проверьте настройки "Отладка: Исключения", чтобы убедиться, что вы случайно не прекратили сообщать о них в режиме отладки.
Если вы находитесь в Visual Studio, вы можете включить "Остановить, когда генерируется исключение" - перейдите в Debug- > Exceptions. Это часто очень полезно для определения точного источника проблемы.
Кроме того, может оказаться целесообразным проверить ваш код на наличие Environment.FailFast, на случай, если кто-то попытается (слишком) умным.
как предложил Эрик, попытаться пройти через него... также всегда ставьте try/catch в свои приложения-конечные пользователи, чтобы управлять исключениями.
Вы можете нажать F10, чтобы начать отладку своего проекта. Это положит точку останова в начале вашего основного метода, после чего вы можете перейти оттуда через код с F11, чтобы увидеть, в каких точках он сработает.