View Full Version : 6.0.16 Trial not catching StringList Exception
harrie
30-Sep-2008, 11:17 AM
Hi there,
I'm evaluating EurekaLog and the first test I tried was with a StringList and was not caught.
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl.text;
end;
EurekaLog did catch an exception when I changed the above to sl.clear
I'm using Delphi 6 (Build 6.240), Update Pack 2, RTL Patch 2
The installer reported that I did not have the Update Pack or any RTL patch?
The application I would like to use EurekaLog in uses many StringLists.
Cheers Harrie.
harrie
30-Sep-2008, 01:02 PM
Oh and I've tested this behaviour on both WinXP Pro SP3 and WinXP MCE SP2
skydvrz
30-Sep-2008, 03:32 PM
Harrie,
Uninitialized stack variables (function local vars) contain random values - sometimes values from a previously-called function or procedure's stack. You are demonstrating an uninitialized stack variable in your example.
It may be that the stack location where the SL pointer is stored has a random value that points to some valid code. If the random location pointed to by the SL pointer is within the EXE's valid memory space and the code doesn't touch off any landmines, you won't get an eeerrrrorr. :)
Set SL to NIL just before your "sl.text" line and try it again. It will go boom.
Call some other function that uses local variables just before your unchanged example code, and it will probably go boom. The stack will then have different values in it and they will likely not point to a valid location any more.
I don't have the same setup as you (I use the full-up version of EL, and D2007), but your example fails properly for me.
Does D6 allow you to shut off specific exceptions in the IDE?
Kevin McCoy
30-Sep-2008, 03:58 PM
Harrie,
It may be that the stack location where SL is stored has a random value
that points to some valid code. Set SL to NIL just before your "sl.text"
line and try it again.
Uninitialized stack variables (function local vars) contain random
values - sometimes values from a previous function or proceedure's stack.
I don't have the same setup as you (I use the full-up version of EL, and
D2007), but your example fails properly for me.
Does D6 allow you to shut off specific exceptions in the IDE?
harrie wrote:
Hi there,
I'm evaluating EurekaLog and the first test I tried was with a StringList and was not caught.
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl.text;
end;
EurekaLog did catch an exception when I changed the above to sl.clear
I'm using Delphi 6 (Build 6.240), Update Pack 2, RTL Patch 2
The installer reported that I did not have the Update Pack or any RTL patch?
The application I would like to use EurekaLog in uses many StringLists.
Cheers Harrie.
harrie
30-Sep-2008, 04:08 PM
Uninitialized stack variables ... you won't get an eeerrrrorr.
cool, that makes sense but is not particulary comforting.
The [Delphi] application is essentially a Form inside a dll that get used by an Abode Director program. The Director program is crashing unexpectedly and I was hoping that the EurekaLog component might be able to identify the point of failure, but I guess sometimes things just aren't that straightforward.
The only thing I've found so far is that the Windows Event Log reports "Faulting application presentation.exe, version 11.0.0.426, faulting module kernel32.dll, version 5.1.2600.3119, fault address 0x00032c3a." which doesn't seem map to any entry point in kernel32. But then again even if it did, I don't know whether it's Director or Delphi code that responsible :(
Does D6 allow you to shut off specific exceptions in the IDE?
The debugger provides "Exception Types to Ignore" but I'm not sure what this gets me in this situation.
Cheers, Harrie.
admin
30-Sep-2008, 04:26 PM
Harrie,
are you sure to have compiled the .EXE project and all the related .DLL projects with EurekaLog enabled?
harrie
01-Oct-2008, 12:46 PM
are you sure to have compiled the .EXE project and all the related .DLL projects with EurekaLog enabled?
I can only compile it into a dll and yes I've enabled it. The EurekaLog dialog appears if I trigger a test exception from this dll. Looks like the Delphi dll is in ther clear anyway as Dr Watson caught failures from other third party dlls. So looks like we're going to have to strip back the application till we find the culprit(s).
Cheers, harrie.
admin
01-Oct-2008, 02:07 PM
Hi Harrie,
OK, but I continue to don't understand if EurekaLog helps you to identify your DLL issues, or not! :(
harrie
02-Oct-2008, 12:37 AM
OK, but I continue to don't understand if EurekaLog helps you to identify your DLL issues, or not!
Not in this case. It was another third party dll and took a process of elimination. Nonetheless, I like the idea of using this type of component in our projects anyway so I'm going to look at it a bit further and present it at our next team meeting.
admin
02-Oct-2008, 07:34 AM
Hi Harrie,
perfect.
Don't hesitate to recontact me if you need further support. :)
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.