Вниз
Скачать: CL | DM;

отладка DLL   Найти похожие ветки 

← →
RockStorm ©   (2005-09-23 10:54) [0]

Суть в том, что надо отдебагить dll-ку (с установкой breakpoints и т.д.). Но дебаггер не откликается на брейкпоинты.
В некоторых описаниях и книгах по делфи этому уделено как-то мало внимания: просто сказано, что нужно указать host process. Я убедился, что хост процесс работает именно с этой откомпилированной длл-кой. Однако, всё равно не брейкпоинты не активизируются. Может, какие-то настройки надо установить где-то?


← →
umbra ©   (2005-09-23 10:59) [1]

а в настройках компилятора написано, что отладочную информацию надо при компиляции создавать?


← →
RockStorm ©   (2005-09-23 11:13) [2]

в Project Options, закладка Compiler, рамка Debug стоят все галочки (кроме debug DCU"s, впрочем я её тоже на всякий пробовал ставить), в том числе и Debug information


← →
umbra ©   (2005-09-23 11:21) [3]

а там же в оптимизации естьгалочки? если есть - убери


← →
isasa ©   (2005-09-23 11:26) [4]

в Project Options, закладка Linker
Include remote debug symbols=ON
В DLL и проекте. Rebuild обоим.


← →
umbra ©   (2005-09-23 11:39) [5]

Вообще, чтобы отлаживать DLL в меню Run окрыть Parameters и там указать прогу, которая работает с этой DLL. Это и есть хост процесс. Делфи его запустит  в начале сеанса отладки


← →
isasa ©   (2005-09-23 11:43) [6]

>чтобы отлаживать DLL в меню Run окрыть Parameters и там указать прогу, которая работает с этой DLL.
Это что-бы запускать отладку из проекта DLL. Для отладки F7(пошаговый проход) см. [4].


← →
RockStorm ©   (2005-09-23 11:50) [7]

>Вообще, чтобы отлаживать DLL в меню Run окрыть Parameters и там указать >прогу, которая работает с этой DLL. Это и есть хост процесс. Делфи его >запустит  в начале сеанса отладки
Я это делал, о чём написал в самом первом сообщении:)

>а там же в оптимизации естьгалочки? если есть - убери
не помогает

>в Project Options, закладка Linker
>Include remote debug symbols=ON
>В DLL и проекте. Rebuild обоим.
тоже не помогло...


← →
Digitman ©   (2005-09-23 12:05) [8]

View -> Debug Windows .. -> Modules .. -> Reload Symbol Table ..


← →
evvcom ©   (2005-09-23 12:07) [9]

1. После Ctrl+F9 появляются синие точки слева от кода?
2. View > Debug Windows > Event Log. В списке найди свою dll. Что там "No Debug Info" или что другое?
3. Там же (Event Log) посмотри Base Address. Попробуй его записать в Project Options > Linker > Image Base. Для Delphi 5 & WinXP это обязательно, на D6 я не работал. Проверь опять пункт 2.


← →
RockStorm ©   (2005-09-23 12:20) [10]

спасибо двум последним ораторам:) как-то поманипулировав всем этим получилось:)


← →
Форумщик   (2005-09-23 13:13) [11]


> RockStorm ©   (23.09.05 10:54)

В дополнении к указанию host process иногда необходимо удалять копию данной длл из каталога, в котором находиться этот host process.


← →
evvcom ©   (2005-09-23 13:49) [12]


> Форумщик   (23.09.05 13:13) [11]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.039 c
4-1124265334
Warlock
2005-08-17 11:55
2005.10.16
Копирование в службе и права доступа


2-1125092597
ronyn
2005-08-27 01:43
2005.10.16
Как в Делфе анимацию типа *.gif реализовать?


3-1122637660
tanya
2005-07-29 15:47
2005.10.16
Как найти (все) MSSQL серверы в локальной сети


3-1125742000
turonix
2005-09-03 14:06
2005.10.16
Как программно узнать установлен ли Primery Key на заданном поле?


1-1127475917
__DATA__
2005-09-23 15:45
2005.10.16
Получение данных из Exel-я




   Наверх