Консольное приложение планировщика заданий показывает время отладчика при исключении, предотвращая повторный запуск программы - PullRequest
2 голосов
/ 22 марта 2019

У меня есть консольное приложение, которое запускается каждые 5 минут с расписанием задач Windows Server.Программа не запускается снова, если она все еще выполняется через 5 минут, поэтому только один экземпляр за раз.

Однако, когда возникает исключение, появляется отладчик «точно вовремя» и не уходит, что не позволяет приложениюснова запустить.

Есть ли способ предотвратить это?Я хочу, чтобы отладчик JIT не появлялся, поэтому приложение завершено и оно будет запущено снова при следующей попытке.

1 Ответ

0 голосов
/ 04 апреля 2019

Один вопрос: почему программа заканчивается исключением?Не было бы лучше иметь какое-либо перенаправление в файл, если вам не нужны исключения.

Я бы лично отключил отладчик JIT в реестре.Из Visual Studio Docs , когда VS не установлен на компьютере, что, вероятно, имеет место.

Отключить отладку Just-In-Time из реестра Windows

Отладка Just-In-Time все еще может быть включена, даже если Visual Studio больше не установлен на вашем компьютере.Если Visual Studio больше не установлен, вы можете отключить отладку Just-In-Time, отредактировав реестр Windows.

К отключить отладку Just-In-Time , отредактировав реестр:

  1. В меню «Пуск» Windows запустите редактор реестра (regedit.exe).

  2. В окне редактора реестра найдите и delete следующие записи реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
    
  3. Если на вашем компьютере установлена ​​операционная система 64-bit , также delete theследующие записи реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
    

Не удаляйте и не изменяйте другие ключи реестра.

...