Delphi: регистрация ошибок приложения в поле - PullRequest
7 голосов
/ 27 мая 2010

При использовании Delphi 7 мне интересно, есть ли бесплатный компонент, который будет собирать диагностическую информацию при запуске приложения на удаленном сайте и помогать мне отлаживать отчеты об ошибках.

Может быть, он записывает каждый выбранный пункт меню, элемент управления, текстовый ввод и т. Д.? Может быть, это просто сбрасывает стек при сбое. Может быть, это делает что-то еще ...

Я не против добавить код (например, в начале и конце каждой процедуры), поскольку он может генерировать больше полезной информации, чем полностью автоматическая система.

Я не уверен, должно ли решение "позвонить домой" или достаточно для создания текстового файла, который можно отправить мне по электронной почте.

Есть предложения?

Ответы [ 5 ]

12 голосов
/ 27 мая 2010

с отладкой сбоя взгляните на MadExcept
http://www.madshi.net/madExceptDescription.htm

madExcept был создан, чтобы помочь вам обнаружить сбои в вашем программном обеспечении. Всякий раз, когда в вашей программе происходит сбой / исключение, madExcept автоматически отлавливает его, анализирует, собирает много полезной информации и дает конечному пользователю возможность отправить вам полный отчет об ошибке.

бесплатно для некоммерческого использования, недорого для коммерческого использования

или JclDebug из библиотеки кодов JEDI

http://www.delphi -jedi.org /

Блог об этом можно найти здесь http://www.gnegg.ch/2002/12/jcldebug/

РЕДАКТИРОВАТЬ: Это, кажется, очень хороший пример того, как использовать JCLDebug http://robstechcorner.blogspot.com/2009/04/finding-hard-to-reproduce-errors.html

8 голосов
/ 27 мая 2010

Я пользуюсь EurekaLog http://www.eurekalog.com

Он выполняет стек вызовов, содержимое памяти, другие запущенные приложения, хорошее описание машины, ОС, исправлений и т. Д., Может (с разрешения пользователя и, если настроено на это) сделать снимок экрана, спросить пользователь для ввода (что вы делали, когда он падал?) и т. д. Он может отправлять дамп по электронной почте, отправлять сообщения в http, отправлять сообщения непосредственно на трекеры ошибок, такие как Mantis и FogBugz, или просто оставлять их в системе. Это здорово и хорошо поддерживается.

Также вот ссылка на похожий вопрос Сравнить обработчики исключений Delphi

4 голосов
/ 27 мая 2010

Вы смотрели на JclDebug с открытым исходным кодом из Project Jedi ? Вот хорошая краткая рецензия на JclDebug .

Представьте, что вы можете получить подробный Отчет об ошибке, содержащий полный callstack, где произошла ошибка в сочетании с информацией о файле и номер строки. Этот отчет может быть генерируется непосредственно на пользователей компьютер и будет отправлен вам по электронной почте или напрямую через интернет, используя пользовательская процедура - даже напрямую создание записей в инструмент отслеживания ошибок, который вы используете.

Это и многое другое стало возможным благодаря Проект JEDI - точнее, JCL-подпроект с его JclDebug-Framework. Когда у тебя есть завершил установку пакет, новая опция меню называется «Inser JCL Debug Data» будет добавлен в проект-меню вашего Delphi-IDE.

2 голосов
/ 12 ноября 2010

Проект log4Delphi бездействовал в течение 4 лет, но мне был предоставлен доступ для обновления неактивного проекта Log4Delphi, и я свернул 4 года исправлений и исправлений в последней версии 0.8, доступной в Source-forge. Я использую эту библиотеку в производстве и нашел ее очень стабильной, надежной и простой в использовании.

Страница загрузок Log4Delphi

2 голосов
/ 27 мая 2010

Существует замечательный перенос на Delphi самой известной среды ведения журналов с открытым исходным кодом, написанной на Java, Log4J: она называется Log4Delphi.

http://log4delphi.sourceforge.net

Я скачал, расширил и успешно использовал свои проекты.

Лучшие функции: с открытым исходным кодом, лицензия Apache, очень хорошо документированы, просты в расширении, дизайн: с концепцией appender вы можете создать свой собственный appender и использовать его для отправки данных регистрации с удаленного компьютера клиента в вашу штаб-квартиру по протоколу UDP .

Попробуйте, и дайте мне знать: -)

PS: проект, похоже, прекращен, но он зрелый, и я использовал его без перегрузки памяти и проблем с процессором.

...