PDA

View Full Version : Delphi 7 and DLL's bug


Stephen
05-Oct-2007, 11:56 AM
Hi,

When working on the source code of a DLL from Delphi 7 :
1) Add parameters to Delphi to run main application.
2) Put break point in DLL.
3) Run application from Delphi.
4) Go to location in application where break point in DLL is reached.
5) Exit application.

Now make a change in the source code of the DLL, like to display a message box or something.
1) Run application.
2) Proceed to location in application where breakpoint in DLL is caught. (NOT a break point ON the new code, but rather just above it, else it will not work).
3) The new code is executed successfully (ie. the new message box is shown)
HOWEVER
The Delphi Debugger does NOT recognise the new code and does not allow you to add a break point or to step into the new code, even though it is evident that the new code is running.

To compensate we have found that Delphi needs to be closed and re-opened, and only then will the debugger be fully functional again - Until you make another change - which then breaks all over again.

This is a new bug in Eureka version 6 releases and was NOT evident in Eureka 5 versions.

It would appear that Eureka is not re-initializing its hook into the Delphi IDE debugger when working with dynamically loaded DLL's.

admin
08-Oct-2007, 08:56 AM
Hi,

I think this is ONLY a Delphi 7 bug that is raised only if the DLL is big, so you see it with EurekaLog 6 and not with EurekaLog 5 (EurekaLog 6 has more code of 5).

If you try to remove EurekaLog from your DLL and simply add more code on it I think this issue reappears! :)

Unregistered
08-Oct-2007, 09:19 AM
Hi,

Thanks for your reply.

I don't fully understand. Are implying that it is not Eureka self, but rather the size of Eureka that is causing the problem?

admin
08-Oct-2007, 10:24 AM
Hi,

I think the real Delphi 7 IDE Debug issue is related to the .DLL compiled file size.

So if you use EurekaLog 6 you add more code to your project that the old EurekaLog 5.

I think ONLY this is able to raise the Debug issue.

This because EurekaLog did not hack any IDE Debug event\API. :)