2012-03-08 4 views
2

Я начал использовать Doxygen для документирования исходного кода проекта моей команды (у нас есть проекты C#, Objective-C и Android/Java). Я написал пакетный скрипт Windows, который проверяет последние версии соединительных линий для каждого проекта и использует командную строку Doxygen для создания сайтов документации HTML и публикации в каталог локальной файловой системы, в котором уже размещен IIS 7. Этот командный скрипт отлично работает и делает все, в чем он нуждается, хотя для полного запуска требуется 10-20 минут.Doxygen не работает при запуске с планировщиком задач Windows

Теперь я пытаюсь автоматизировать процесс, чтобы он работал в конце каждого дня. Я добавил запланированную задачу, которая просто запускает пакетный скрипт. Кажется, что каждая часть скрипта работает, за исключением части Doxygen. Я могу войти в машину и посмотреть файловую систему и посмотреть, что рабочие копии проверяются без проблем, и работает элемент очистки. Однако он никогда не генерирует вывод Doxygen HTML. Выходные/целевые каталоги Doxygen настроены на использование, будут оставаться пустыми каждый раз. Я не нахожу сообщений об ошибках любого типа (в запланированных задачах и eventvwr). Это не работает, могу ли я позволить планировщику задач запустить его самостоятельно или я скажу ему, чтобы запустить задачу сейчас. Как было сказано ранее, я могу дважды щелкнуть командный файл и запустить его нормально, и все работает отлично.

Процесс выполняется на нашем сервере разработки, это старая рабочая станция Dell, работающая под управлением Windows Vista Business 32-bit. У меня есть запланированная задача, запущенная в учетной записи «Система», хотя я также попробовал «Локальное обслуживание» и мою собственную учетную запись домена Active Directory (которая является администратором на этом сервере), и она по-прежнему не работает.

Кто-нибудь еще успешно использовал планировщик задач для автоматизации Doxygen? Я понятия не имею, что я делаю неправильно. Что я должен искать дальше?

Я могу опубликовать несколько анонимных версий моего командного файла и файлов конфигурации Doxygen, если это необходимо.

ответ

3

В своем пакетном файле попробуйте добавить перенаправление вывода doxygen в файл журнала. Затем запустите его через планировщик и посмотрите, какой результат был сгенерирован. Если doxygen обнаруживает ошибку при запуске таким образом, вы должны увидеть ее в файле журнала.

doxygen doxyfile > doxygen.log 2>&1 

Кроме того, убедитесь, что ваш файл летучей мыши работает правильно, даже если вызывается из другого каталога, чем тот, где Doxygen материал находится. При запуске через планировщик задач, я думаю, что текущий каталог будет C: \ Windows \ system32, поэтому попробуйте следующее:

c:\windows\system32>c:\path\to\batchfile\mybatch.bat 

Если что дает ошибки пути вы должны исправить их.

+0

Я добавил то, что вы предложили, и создал файл doxygen.log, однако он был пуст после завершения задачи. Я не думаю, что рабочий каталог имеет значение, потому что я использовал абсолютные пути к файлам во всем, но я запускал его вручную в CMD из другого рабочего каталога, и он работал нормально. Теперь я добавил параметр> batchLog.log к параметрам запланированной задачи, и я посмотрю на это. –

+1

Мой пример просто перенаправил нормальный выход, выход ошибки все еще был потерян. Посмотрите мое обновление выше, добавив «2> и 1». Это также будет включать вывод stderr в журнал. –

+0

Большое спасибо, заработал! Проблема в том, что путь установки doxygen является частью моего PATH, когда я вошел в систему, но, по-видимому, не является частью PATH в планировщике задач, поэтому он не смог найти программу. Я заменил его в своей партии полным путем до doxygen.exe, и теперь он работает. –