| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Debugger Fault |
| Автор: Burka 30.11.2010, 09:34 |
| Написал довольно большую программу, через некоторое время пришлось к ней вернутся и добавить некоторые функции. Но при запуске через делфи выдает ошибку. Причем программа нормально запускается вне делфи, никаких изменений в программу еще не внес. Подскажите что может помочь? PS Думал из за касперского, но с отключенной защитой делфи выдавал тоже самое. |
| Автор: GBB700 30.11.2010, 10:07 |
| Ну а каких местах выскакивают ошибки? Что за ошибки? Если программа нормально работает вне делфи то возможно ошибки выскакивают внутри блоков try которые отладчик делфи все равно отображает, а нормальном режиме они обрабатываются иначе. |
| Автор: Burka 30.11.2010, 10:22 | ||
При запуске ошибка выскакивает, я не знаю в каком месте, даже при Step Over ошибка выскакивает сразу же. Окно ошибки в аттаче. При запуске программы не выполняется никаких кодов в try except. Единственное подключаются функции из длл, статически. Но при запуске выдавались бы ошибки. А так все работает. |
| Автор: Snowy 30.11.2010, 11:48 |
| Ну и наплюй слюнями. Жми Ок и снова F9. Написано же - внутреннее программное исключение, жми Run. Можешь добавить это исключение в игнор. Это плановое исключение. Оно там и задумано. |
| Автор: Burka 30.11.2010, 12:03 |
| Как его можно заигнорить? Нажатие F9 не помогает, дебагер не закрывается и форма не появляется пс. форма появляется, ждать приходится. |
| Автор: Snowy 30.11.2010, 12:29 |
| В настройках дельфи в разделе Debuger Options В добавить свой код OS Exeptions (в твоём случае это $C000001d) Добавлено через 1 минуту и 24 секунды Хотя он там и так есть. Попробуй поменять флажочки. |
| Автор: Burka 30.11.2010, 12:45 |
| Спасибо большое, сам бы в жизни не разобрался. Убрал флажок integrated debugging и стало запускаться без ошибки. |
| Автор: CodeMonkey 1.12.2010, 06:22 |
После нажатия на OK в окне, что в аттаче - что происходит? Уж не тыркает ли отладчик на строку с ошибкой, а? "faulted" - это вылет приложения. Вылет приложения - это плановое исключение? Класс. Проблема воспроизводится только под отладчиком. Некоторые считают это счастьем. Гораздо хуже, когда наоборот. И что же мы делаем? Вместо того, чтобы решать проблему, мы отключаем отладчик! Пять баллов. От того, что вы закрыли глаза на проблему, она никуда не уйдёт. C000001D - это EXCEPTION_ILLEGAL_INSTRUCTION. Что-то в вашей программе ну очень страшное происходит. Вы же не хотите оставить эту ошибку? http://www.gunsmoker.ru/2010/11/itdevcon.html (ссылка на материалы - в конце). Если с этим проблемы, действуем так: 1. http://www.gunsmoker.ru/2009/04/delphi_19.html. 2. Анализируем состояние программы после нажатия на OK в том окне с фатальной ошибкой. Как вариант - использовать Search/Go to address, $7C96478E |
| Автор: Snowy 1.12.2010, 12:55 |
| А ты предлагаешь править винду? Если ничего не менялось, значит проблема в системе. Ставлю конфетку на то, что, если накатить последний сервиспак, проблема исчезнет в принципе. |
| Автор: CodeMonkey 1.12.2010, 13:43 |
| http://www.transl-gunsmoker.ru/2010/08/997.html. |
| Автор: Burka 7.12.2010, 13:21 | ||||
| Короче эта ошибка появляется если я в программе использую функции из длл, возможно я подключаю что то не правильно или деббагер пытается куда то залесть не туда. вот код. Модуль описания функций из длл, я его сам писал возможно здесь может быть ошибка.
И просто код вызова функции
Вот фишка вся в том что все работает без деббагера, все функции вызываются и тд. К слову сервис пак стоит третий. |
| Автор: CodeMonkey 7.12.2010, 14:22 |
| Кто такая WinDbr32 и как с ней работать - я так понимаю, мы должны угадать? |
| Автор: Burka 7.12.2010, 14:35 |
| А что значит как с ней работать? dll библиотека написанная на си, присланная из москвы для работы с метео базой, недавно было обновление, скорей всего из за которого эта ошибка и появилась. Если это поможет, то для этой длл после последнего обновления необходима установка MS Visual C++ 2005 SP1 Redistributable Package. Так же длл требует наличие хасп ключа. Что еще я могу сказать? |
| Автор: Xenag 7.12.2010, 18:09 |
| Вероятно срабатывает программная защита на обнаружении дебаггера. |
| Автор: CodeMonkey 7.12.2010, 20:32 |
Кстати, да. |
| Автор: Burka 7.12.2010, 21:37 |
| Вполне возможно в новой версии что то добавили, хотя точно узнать будет проблематично |
| Автор: Juiko 7.10.2011, 11:16 |
| Burka, а как проблему решили? отключили компилятор или исправили? |