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




Вниз

Как отлаживать DLL? 


fag2000@ok.ru   (2002-03-12 11:52) [0]

Как под отладчиком посмотреть что происходит в моей DLL?
Я создал проект DLL. В "Run->Parametrs" я указываю имя приложения, которое использует DLL. В коде DLL устанавливаю breakpoint. Запускаю проект с DLL. Когда исполнениние доходит до breakpoint в DLL, Delphi наглухо отвисает. Как этого исбежать?
Заранее благодарен.



Alx2   (2002-03-12 12:35) [1]

А без отладчика (в свободном полете) программа не виснет?



fag2000@ok.ru   (2002-03-12 12:49) [2]

Без отладчика работает без проблем.



Alx2   (2002-03-12 12:55) [3]

Даже не знаю что сказать. Слишком много может быть причин.
На всякий случай, попробуй включить stack frames



fag2000@ok.ru   (2002-03-12 13:09) [4]

Включение stack frames не помогло :(.



Alx2   (2002-03-12 13:22) [5]

Можно посмотреть код функции из DLL, секцию uses DLL,
секцию uses главного модуля вызывающего приложения, описание вызываемой функции и сам ее вызов вызывающем приложении?



fag2000@ok.ru   (2002-03-12 13:36) [6]

DLL:
library HookDll;
Uses
Windows, Messages, SysUtils;
....
....
Вызов этой функции происходит из Hook"а на клаву.
Function KeyboardHook(Code:Integer;ParamW:WPARAM;ParamL:LPARAM): LRESULT;stdcall;
Begin
If Code IN [HC_ACTION, HC_NOREMOVE] Then
Begin
SendMessage(ShareInf^.AppWndHandle,ShareInf^.KeyboardMsgId, ParamW, Code);
End;
Result := CallNextHookEx(ShareInf^.KeyboardHookHandle, Code, ParamW, ParamL)
End;
Вызывающее приложение вызывает функцию, которая вешает hook а за тем просто ловит сообщения.



Alx2   (2002-03-12 13:43) [7]

Наверняка в SetWindowsHookEx в качестве hInstance передается 0?
Если так, попробуй в передать хэндл своего приложения (того, которое вызывает).



fag2000@ok.ru   (2002-03-12 13:56) [8]

Тогда Hook будет не глобальный.



Alx2   (2002-03-12 13:58) [9]

Тогда Delphi при отладке, скорее всего, затыкаться не будет.
Можно ведь отладить и на неглобальном хуке?




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




Наверх





Память: 0.73 MB
Время: 0.023 c
3-80432           alextov               2002-02-26 15:22  2002.03.25  
Всегда видимое первое поле в DBGrid e, независимо от скроллинга


6-80640           Андре                 2002-01-11 10:34  2002.03.25  
Траффик.


3-80451           Bura                  2002-02-26 18:00  2002.03.25  
Не могу установить связь с IB


3-80394           MetallAdm             2002-02-24 15:30  2002.03.25  
Определить Сушествование ADO, ODBS ???


14-80670          Merlin                2002-02-08 13:42  2002.03.25  
Логотип