2016-03-11 5 views
1

Я дал для поддержки проекта в delphi, для которого у меня нет подсказки :). Он был преобразован в XE8 из D5. Таким образом, у него много особых вещей (я заменяю некоторые пользовательские списки объектов словарями, поскольку в D5 словари не существовали). Основное применение расширяет TForm и в FormCreate методе содержит эту строкуDelphi XE8 Обработка приложений и сторонние инструменты обработки исключений

Application.OnException := FormException; 
HandleException := Application.HandleException; 

Метод FormException принимает исключение и также выводит подробное окно с некоторой информацией и стек вызовов.

Я хочу интегрировать EurekaLog или madExcept в свой проект, чтобы иметь возможность находить дополнительную информацию о необработанных исключениях. Но хотя я установлен и включен, я не получаю окно с информацией, которую хочу получить. Он запускает метод FromException, хотя я читал, что при соединении с madExcept это игнорируется. Создание нового проекта, просто бросающего исключение с нажатием кнопки с помощью madExcept или EurekaLog, работает правильно. Я не знаю, где искать обработку исключений delphi и нужно ли иметь дополнительные настройки для сторонних инструментов. Есть идеи?

+0

Удалить эти две строки кода, и следовать инструкциям и документации по madExcept и EurekaLog –

+0

я сделал. Тем не менее это не сработало. Может ли он обрабатывать исключения в другом месте кода. Какой-то конкретный обратный звонок мне нужно искать? – Apostolos

+0

Кто знает. ME работает отлично для меня. Чем отличается ваш проект? Немного отладки по делению пополам - вот что вам нужно. Или даже старинная интерактивная отладка. Поднимите исключение, которое, как вы знаете, вы не обрабатываете, и выполните код, чтобы узнать, куда он идет. –

ответ

0

Я использую EurekaLog, и есть несколько случаев, когда он не фиксирует исключения.

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

Возможно, вы также настроили EL, чтобы игнорировать определенные исключения. Проверьте параметры в окне настроек EL.

Убедитесь, что EL настроен для вашего типа приложения (VCL/FMX/etc.). Это первый вариант в окне опций EL.

Убедитесь, что отладчик производит подробный файл карты (Project> Options> Compiler> Linking> файл карты -> Подробное)

Последнее, что я могу вспомнить, не правильно установлен EL. Перейдите в Project> View Source. Если для вашего проекта активирован EL, вы должны увидеть несколько единиц (EMemLeak и т. Д.) Перед System.StartUpCopy.

BTW, какая версия EL у вас есть?

Elpizo на boithisa ...

+0

Привет, Джон ... это последнее испытание 7.x. Я попробую ваши рекомендации. Эврика или сумасшедшая, несмотря на то, что работают при создании моего собственного проекта. Поэтому я уверен, что что-то не так с этим конкретным проектом. Я отключил обработку пользовательских исключений, но все та же проблема. Pantws se euxaristw! – Apostolos

Смежные вопросы