Поведение, которое вы испытываете, несомненно, является следствием того, что ваше приложение запускается с подключенным отладчиком. Когда вы запускаете свое приложение, используя Ctrl + F5 , вы говорите Visual Studio «Пускать без отладки», а не просто нажимаете F5 , что говорит Visual Studio «Начать отладку». Разница между этими двумя командами заключается в том, что первая не присоединяет отладчик к процессу вашего кода. Обратите внимание, что не - это то же самое, что разница между сборкой Debug и сборкой Release! Любой тип сборки может быть запущен с отладчиком или без него.
Запуск вашего приложения без подключенного отладчика означает несколько разных вещей:
- Точки останова не будут достигнуты
- Символы отладки (ваши файлы .PDB) не загружены, поэтому вы не можете пошагово выполнить код
- Заявления, включающие класс
System.Diagnostics.Debug
, не будут выполняться
- В C ++ переменные не будут инициализированы к значениям по умолчанию (а скорее оставлены как неинициализированные)
В вашем случае, я бы предположил, что исключение, которое вы видите, перехватывается и обрабатывается где-то выше стека от того места, где он генерируется (предположительно, из-за кода, предоставляемого лицензированием DeployLX, хотя я не Я ничего не знаю об этом и никогда не использовал это) и поэтому не отображается, если у вас нет отладчика При подключенном отладчике исключение регистрируется и отображается в информационных целях независимо от того, обрабатывается ли оно надлежащим образом.
Вы точно не объяснили , где отображается эта ошибка и как вы ее «получаете». Но если вы хотите настроить способ обработки исключений, когда отладчик подключен к процессу, выполняющему ваш код, откройте меню «Отладка» и нажмите «Исключения». После этого вы можете разбить все исключения, даже те, которые обрабатываются, если хотите увидеть, какой код вызывает исключение.