Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];

Вниз

Отладка DLL встроенным отладчиком.   Найти похожие ветки 

 
SergeyBG   (2003-09-17 20:24) [0]

Не могу заставить Дельфи 7.0 отлаживать мной написанную ДЛЛ из мной написанного ЕХЕ. ДЛЛ - активный проект. Откомпилирована с дебаг-информацией. Однако точки останова игнорируются.
Загружаю ДЛЛ с помощью функции LoadLibrary.
Что делать? У шестого дельфи те же проблемы.


 
oomneeq   (2003-09-17 20:42) [1]

Ecть разные выходы.
Я могу тебе посоветовать свой
Раз ты загружаешь через лоадлайбрэри, значит вызывающий (хост)
проект тоже твой.
В этом случае помести его и твою длл в одну проект-группу,
кроме опции компилятора Debug info (ты вроде бы уже сделал)
скомпилируй длл с опцией линкера External debug info
(птичка слева внизу на закладке Linker в Project options)
- это приводит к появлению *.rsm файла рядом с *.dll
а полсле этого можно стартовать хост-проект самостоятельно, даже не назначая его длл-ному проекту в качестве хоста,
при наличии rsm-файла отладчик запрыгивает в код дллки.

Этот способ особенно удобен, когда много длл с взаимо-вызовами-
заносишь их все в одну проект группу и компилишь как описано-
дальше как сказано, пускаешь главный проект и прыгаешь отладчиком по всем своим дллкам.
удачи в ловле блох!


 
SergeyBG   (2003-09-18 19:02) [2]

Спасибо, заработало !!! А группа уже была.


 
Владислав   (2003-09-18 19:06) [3]

> oomneeq © (17.09.03 20:42) [1]

А хукнутые dll также можно отлаживать?


 
oomneeq   (2003-09-18 22:24) [4]

>Владислав © (18.09.03 19:06) [3]
Не знаю, не хукал :-)


 
Immortal_Death   (2003-09-19 00:06) [5]

Владислав ©
ага, можно, только хуки неприменно ставь поглабальнее... ;)


 
JS   (2003-09-19 09:37) [6]

oomneeq, ты упомянул, что есть разные выходы. Подскажи, что делать, если host application не мой, а левый.

Заранее благодарен.


 
Владислав   (2003-09-19 09:50) [7]

> oomneeq © (17.09.03 20:42) [1]

External debug info

Это где такая "птичка"? У меня Delphi 6. Птички такой нет :(


 
oomneeq   (2003-09-19 12:00) [8]

2Владислав [7]
>External debug info
>то где такая "птичка"? У меня Delphi 6. Птички такой нет :(

Aй эм сори, я неудачно выразился
У меня 5я немецкая дельфи, по немецки это
Mit ext. debug Symbolen
6й у меня нету а в 7й английской она называется
Include remote debug symbols
а находится там где сказал, на закладке Linker в Project Options

2JS (19.09.03 09:37) [6]
Универсальное правило такое:
1)dll, скомпиленая описаным способом и ее rsm должны лежать
рядом.
2)Debug source path (из Project option compiler)
должен содержать путь к dll-ским исходникам

в этом случае при любом хосте (ну естессно, грузящем эту длл :-))
отладчик найдет все что надо.

Просто в частном случае, когда например все в одном каталоге,
условия м.б. необязательными.

Удачной вам всем отладки.


 
oomneeq   (2003-09-19 12:22) [9]

>oomneeq © (19.09.03 12:00) [8]
В догонку

Имея Dll, rsm и соответствующие исходники и настроив как описано
можно отлаживать длл на ващще на другом компе- там например, где эту дллку невозможно или ненужно компилить из-за неустановленых компонент и тп. - например вы отсылаете свою дллку смежникам,
они стартуют приложение, использующее вашу дллку и говорят, мол ошибочка. Вот тогда то им и помогут ваши rsm+исходники.

Shit может случиться если имена файлов dll исходников совпадают с имеющимися в других каталогах, а эти каталоги стоят например
в Search path, или в любом другом, до которого дело доходит раньше чем до описанного в Debug path актуального исходника
Ну например при многократных метаниях проектов из каталога в каталог на этапе реорганизации или вообще безо всякой организации
когда по всему диску валаятся куча версиий одного и того же файла
Тогда отладчику не грех и ошибиться :-)

Так что следите за порядком на ваших дисках. Ну и в головах :-)
Хэппи кодинг.



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

Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
1-3852
Vorobyev Sergey
2003-09-22 11:25
2003.10.02
Можно ли использовать .exe, а не .dll для экспорта функций?


14-4053
andre
2003-09-14 22:56
2003.10.02
Смайлы.


6-4031
SergeyB
2003-07-15 10:59
2003.10.02
NetDDe & Delphi 5.0


3-3734
Сатир
2003-09-12 12:06
2003.10.02
Название пакета для работы с msql


1-3973
Evg12
2003-09-19 13:02
2003.10.02
Обработка Нажатия Escape





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский