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

Как отлаживать 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 при отладке, скорее всего, затыкаться не будет.
Можно ведь отладить и на неглобальном хуке?



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

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



Память: 0.46 MB
Время: 0.008 c
1-80568
Priz_Datiy
2002-03-04 16:30
2002.03.25
Как определить первые символ в едите?


14-80692
McSimm
2002-02-10 17:41
2002.03.25
А пирушка уже удалена?


1-80496
Шрек
2002-03-12 03:27
2002.03.25
Скомпилировать библиотеку только с нужными функциями


1-80605
AEro
2002-03-11 10:04
2002.03.25
Как присвоить значение переменной в bat-файле?


3-80424
eds_30
2002-02-26 19:24
2002.03.25
ZEOS + mySQL




   Наверх