Я пытаюсь диагностировать, почему служба cygwin sshd запускается и останавливается сразу. В журнале событий приложения Vista я обнаружил:
sshd: PID 3480: `sshd' service stopped, exit status: 255
Это мало помогает.
Где мне искать другие подсказки? Другие места в журнале, чем приложение?
Если процесс дает сбой во время или сразу после запуска, что, по всей видимости, имеет место, в журнале приложений должно быть зарегистрировано событие с идентификатором 1000 «Ошибка приложения», возможно, окруженное парой записей отчетов об ошибках Windows.
На вашем месте я бы установил procdump.exe из Sysinternals в качестве своего своевременного отладчика. Вы можете сделать это с помощью команды:
procdump.exe -ma -i C:\dumps
Это изменяет раздел реестра AEDebug, так что всякий раз, когда процесс выходит из строя в вашей системе, он запускает procdump.exe для захвата дампа памяти процесса, который вы затем можете открыть в Windbg и посмотреть, что было в его стеке прямо перед тем, как он умер, и т. .
Но в любом случае, если процесс не падает, а вместо этого завершается изящно из-за какого-то другого внутреннего условия в его собственной логике, что я вроде как подозреваю, потому что я не думаю, что приложение когда-либо получило возможность записать это событие, о котором вы упомянули в журнал, а затем используйте Process Monitor (procmon) вместо этого для отслеживания работающей системы, пока вы пытаетесь запустить службу.
Теперь остановите свой след и следите за своим процессом. К чему он пытался получить доступ? Искать Result != SUCCESS
события этого процесса ... возможно, он искал файл на диске или раздел реестра, который не мог найти. Вы можете увидеть что-то вроде процесса, пытающегося подключиться к сокету на порту 443, но ему было отказано в доступе или не удалось найти сертификат и т. Д.
Хотя это и не серебряная пуля, если вы последуете совету, который я вам дал, это будет лучшая информация, которую вы получите, и лучший шанс отладить это.