помогите с отладкой DLL
От: EHOT  
Дата: 04.07.03 16:27
Оценка:
Помогите!

У меня есть COM DLL написанная на Delphi — чужая, опенсорсная. Я вызываю ее из своего приложения (не дельфевого). Все хорошо, но иногда (примерно 50/50) при выходе приложение валится в эксепшен внутри DLL.

Установил Delphi 5.0 (исходники на нем написаны)и все компоненты. Пытаюсь отлаживать в дельфевом дебагере. Но, куда не ставлю брейкпоинты — отладка не останавливается! Даже после появления эксепшена в дебагер не попадаю — ОК и все Могу посмотреть "CPU window" но тольку от этого мало...
Projects — Option — Debugging — все галочки стоят

Помогите отладить!

ЗЫ: Дельфи не знаю
Re: помогите с отладкой DLL
От: olden Украина  
Дата: 04.07.03 17:03
Оценка:
Здравствуйте, EHOT, Вы писали:

EHO>Помогите!


EHO>У меня есть COM DLL написанная на Delphi — чужая, опенсорсная. Я вызываю ее из своего приложения (не дельфевого). Все хорошо, но иногда (примерно 50/50) при выходе приложение валится в эксепшен внутри DLL.


EHO>Установил Delphi 5.0 (исходники на нем написаны)и все компоненты. Пытаюсь отлаживать в дельфевом дебагере. Но, куда не ставлю брейкпоинты — отладка не останавливается! Даже после появления эксепшена в дебагер не попадаю — ОК и все Могу посмотреть "CPU window" но тольку от этого мало...

EHO>Projects — Option — Debugging — все галочки стоят

EHO>Помогите отладить!


EHO>ЗЫ: Дельфи не знаю



может отладка в проекте отключена?
а как запускаешь ДЛЛьку?
Открываешь ее проект, прописываешь в RUN->Parameters->Host Application ?
Или как-то иначе (т.е. неверно) ?

Не знаю как в Делфи, но в Билдере можно понатыкать в разных местак исходника вызов апишной OutputDebugString
и затем смотреть в отладочном окне Debug Windows -> EventLog где собственно происходит неприятность
Среди таких как я ТАКИХ как я еще поискать... :)
Re[2]: помогите с отладкой DLL
От: EHOT  
Дата: 04.07.03 17:06
Оценка:
Здравствуйте, olden, Вы писали:


O>может отладка в проекте отключена?

А как ее включить? (я же говорю, дельфи не знаю)

O>а как запускаешь ДЛЛьку?

O>Открываешь ее проект, прописываешь в RUN->Parameters->Host Application ?
O>Или как-то иначе (т.е. неверно) ?
Именно так.

O>Не знаю как в Делфи, но в Билдере можно понатыкать в разных местак исходника вызов апишной OutputDebugString

O>и затем смотреть в отладочном окне Debug Windows -> EventLog где собственно происходит неприятность

За OutputDebugString — спасибо!
Перекомпиляция модулей
От: akasoft Россия  
Дата: 05.07.03 08:37
Оценка:
Здравствуйте, EHOT, Вы писали:

EHO>Помогите отладить!


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

а) зайти меню "Project"-"Options", вкладка "Compiler", убрать галки про Optimization, галки раздела Debugging взвести,
б) перекомпилировать проект ("Project" — "Build").

Обычно это помогает. А когда надоест отлаживать, можно вернуть оптимизацию и убрать отладочную информацию. И тоже не забыть ребуилд.
... << RSDN@Home 1.1 alpha 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.