Вниз
Скачать: 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.029 c
2-1125919611
JTAG
2005-09-05 15:26
2005.10.16
Помогите кто работал с функцией ShellExecute


5-1103047227
Deep
2004-12-14 21:00
2005.10.16
Невизуальные компоненты внутри другого невизуального компонента


11-1108113078
Alec
2005-02-11 12:11
2005.10.16
KOLEDB:MEMO поля


14-1127651029
alsov
2005-09-25 16:23
2005.10.16
Компонент - кнопка с 4 положениями (Up, MouseMove, Down, Disable)


3-1125924305
Ragazor
2005-09-05 16:45
2005.10.16
Что нужно делать чтобы программа не требовала инсталяции Firebird




   Наверх