Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > Как найти место возникновения ошибки |
Автор: Stereo 2.5.2007, 00:13 |
Я использую Delphi 2006, Если мое приложение генерирует ошибки вида: Access violation at address 00429A72 in module 'Project1.exe'. Read of address 00000041 Как мне найти место возникновения ошибки именно по строке исключения? Возможно как-то по другому стоит организовать лог файл чтоб оперативнее находить ошибки? |
Автор: Snowy 2.5.2007, 00:19 |
В исходном коде? Никак. Ищи трассировкой или в CPU Window. |
Автор: dumb 2.5.2007, 03:18 | ||
если менее категорично, то можно, но сложно. если самому делать. нужно "пережевать" либо .map, либо файл с отладочной инфой и состряпать что-нибудь свое, чтоб покомпактнее. в обработчике исключений брать оттуда инфу(хотя можно лопатить напрямую непереработанную debug-info) и выдавать в сообщении/писать в файл/и то и другое вместе... либо воспользоваться готовыми компонентами:
Добавлено через 1 минуту и 56 секунд единственное, у некоторых из них могут возникнуть проблемы с 2006... |
Автор: Alexeis 3.5.2007, 17:14 |
А еще есть один замечательный способ работающий под дебагом. Вызвать окно Call Stack. Для этого нужно разрешить брейк во время исключения. В окошке Call Stack видно дерево вызов и можно увидеть по крайней мере процедуру в которой произошел эксепшн. |
Автор: Igor_thief 23.5.2007, 14:32 |
на сайте http://www.eurekalog.com/details.php сказано следующее: EurekaLog only uses the compiled file, not the .MAP file. Интересно, как они делают это без map файлов? |