Здравствуйте, h256, Вы писали:
H>Как отладить dll? H>Я ставлю в брекпоинты, но отладчик их пропускает...
Run->Parameters...->Host application — указываешь exe-шник тестового приложения (из которого вызывается библиотека). Устанавливаешь точки останова и запускаешь, после вызова функции библиотеки, отладка становится доступной.
> Run->>Parameters...->Host application — указываешь exe-шник тестового приложения > (из которого вызывается библиотека). Устанавливаешь точки останова и запускаешь, > после вызова функции библиотеки, отладка становится доступной.
Извеняюсь, что сразу все не описал — я это сделал, указал exe-шник, но он не останавливается на брекпоинтах...
В тестовом приложении я могу остановиться, но попасть внутрь библиотеки нет...
Здравствуйте, h256, Вы писали:
H>Извеняюсь, что сразу все не описал — я это сделал, указал exe-шник, но он не останавливается на брекпоинтах... H>В тестовом приложении я могу остановиться, но попасть внутрь библиотеки нет...
А функция DLL нормально вызывается, во время работы функции и должна включиться отладка.
> В тестовом приложении я могу остановиться, но попасть внутрь библиотеки нет...
Сдается мне, что тестовое приложение в той же группе проектов описано и является
активным проектом. В результате тестируется не dll-ка, а тестовое приложение.
Здравствуйте, S-SH, Вы писали:
SS>Сдается мне, что тестовое приложение в той же группе проектов описано и является SS>активным проектом. В результате тестируется не dll-ка, а тестовое приложение.
А это не имеет значения, в любом случае включается отладка.
Здравствуйте, h256, Вы писали:
H>Как отладить dll? H>Я ставлю в брекпоинты, но отладчик их пропускает...
1) Открываем проект(*.BPR) DLL;
2) Лезем в Run/Parameters выбираем путь для Host Application(Приложение которое будет использовать твою DLL)
и ставим галочку Execute startup code on Load;
3) Лезем Tools/Debugger Options, ставим галочку в General напротив Debug spawned processes;
4) Ставим в коде проекта DLL BREAK POINTS — где нам нужно.
5) Запускаем(Run/F9);
6) Смотрим на то как срабатывают поставленные Break`s.....
P.S.(З.Ы.)
Не забудь, только, что DLL, должна быть собрана с Debug Info, иначе Break`s — вообще неработают.