Board index » cppbuilder » Problems with EurekaLog

Problems with EurekaLog


2005-09-13 02:49:41 PM
cppbuilder78
Hi all,
Does anyone else here use EurekaLog version 5 with FIBPlus? If so, which
Delphi/BCB version are you using?
I just finished spending a few days tracking an obscure, erratic bug,
that has produced an access violation (somewhere in FIBSQLMonitor.pas)
"from time to time", ever since I switched to the new version of
EurekaLog. So I guess there must be some incompatability there... I've
been using FIBPlus version 4.7.7, I now upgraded to version 5.1, and
it's still the same. I'm now using 6.25, and it's significantly better, but the bug
still occurs at times. Has anyone else experienced this type of trouble?
FYI, I'm using BCB 5. Unfortunately, I expect it's not an issue with
Delphi, since most third-party components are much better tested for
Delphi than for BCB...
Here's the callstack reported by EurekaLog:
Call Stack Information:
---------------------------------------------------------------------------------------------------------------
|Address |Module |Unit |Class |Procedure/Method
|Line |
---------------------------------------------------------------------------------------------------------------
| Running Thread: ID=844; Priority=0; Class=TMonitorWriterThread
|
|-------------------------------------------------------------------------------------------------------------|
|004BA529|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.TerminateWriteThread|952[49] |
|-------------------------------------------------------------------------------------------------------------|
| Calling Thread: ID=268; Priority=0; Class=; [Main]
|
|-------------------------------------------------------------------------------------------------------------|
|004BA4C2|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.TerminateWriteThread|931[28] |
|004BA665|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.TerminateWriteThread|1011[108] |
|004BA610|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.TerminateWriteThread|1001[98] |
|004BA3D8|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.WriteSQLData |898[11] |
|004BA318|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.WriteSQLData |887[0] |
|004B448E|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.ExecQuery
|3230[100] |
|004DA548|neptune.exe|pFIBErrorHandler.pas|Pfiberrorhandler|TpFibErrorHandler.DefaultOnError
|202[87] |
|0048AE04|neptune.exe|fib.pas |Fib |IBError
|485[59] |
|004A00E6|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataEvent |6101[4] |
|004A8ADB|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.SetFieldData |10044[122]|
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|004A41D8|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7819[62] |
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004EC4F0|neptune.exe|StrUtil.pas |Strutil |Q_StrLen
|1603[1] |
|004F064E|neptune.exe|pFIBLists.pas |Pfiblists |TObjStringList.HashFunc
|313[3] |
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|00496694|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBStringField.IsDBKey
|1457[4] |
|004968BE|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBStringField.GetValue
|1542[13] |
|004968FA|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBStringField.GetValue
|1547[18] |
|004A00E6|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataEvent |6101[4] |
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004A8ADB|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.SetFieldData |10044[122]|
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|004A41D8|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7819[62] |
|004A3C67|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7665[2] |
|004A3D6D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7690[27] |
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|004A41D8|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7819[62] |
|004A3C67|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7665[2] |
|004A3D6D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7690[27] |
|004D42C7|neptune.exe|pFIBDataSet.pas |Pfibdataset
|TpFIBDataSet.LoadFromStream |1241[12] |
|004A41B0|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7816[59] |
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004A00E6|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataEvent |6101[4] |
|004A41B0|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7816[59] |
|004A8ADB|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.SetFieldData |10044[122]|
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004A419D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7814[57] |
|004A412D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7802[45] |
|004B06A0|neptune.exe|FIBQuery.pas |Fibquery
|TFIBXSQLVAR.GetServerSQLSubType |1511[74] |
|0048DBBB|neptune.exe|FIBDatabase.pas |Fibdatabase |TFIBDatabase.CheckActive
|1032[23] |
|00491C85|neptune.exe|FIBDatabase.pas |Fibdatabase
|TFIBTransaction.CheckInTransaction |2892[7] |
|0049223B|neptune.exe|FIBDatabase.pas |Fibdatabase
|TFIBTransaction.GetDatabase |3061[1] |
|00492230|neptune.exe|FIBDatabase.pas |Fibdatabase
|TFIBTransaction.GetDatabase |3060[0] |
|00491899|neptune.exe|FIBDatabase.pas |Fibdatabase |TFIBTransaction.Call
|2830[4] |
|0048AC40|neptune.exe|fib.pas |Fib |IBError
|426[0] |
|004B35B5|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.Call
|2858[6] |
|004B3548|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.Call
|2852[0] |
|004B436B|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.ExecQuery
|3196[66] |
|004D32C9|neptune.exe|pFIBDataSet.pas |Pfibdataset
|TpFIBDataSet.InternalPostRecord |796[12] |
|004A789E|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.InternalPost |9527[73] |
|004A76F4|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.InternalPost |9454[0] |
|004D36A1|neptune.exe|pFIBDataSet.pas |Pfibdataset |TpFIBDataSet.InternalPost
|908[1] |
|00498BBC|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBCustomDataSet.Post
|2864[2] |
|00472236|neptune.exe|clientmodify.cpp |TfmClientModify |btOKClick
|84[52] |
|00429E40|neptune.exe|dmf.cpp |TdmFich |CreateClient
|540[17] |
|00429D4C|neptune.exe|dmf.cpp |TdmFich |CreateClient
|523[0] |
|00478839|neptune.exe|cmd_client.cpp |TfmCmd_Client |btNouveauClientClick
|418[2] |
|00479448|neptune.exe|cmd_client.cpp |TfmCmd_Client |Afficher
|542[2] |
|0047943C|neptune.exe|cmd_client.cpp |TfmCmd_Client |Afficher
|540[0] |
|0052BC02|neptune.exe|dcmd_client.cpp |TdmCmd_Client |TraitementCmd_Client
|75[14] |
|0052BB48|neptune.exe|dcmd_client.cpp |TdmCmd_Client |TraitementCmd_Client
|61[0] |
|0052B924|neptune.exe|dcmd_client.cpp |TdmCmd_Client |CreerCmd_Client
|28[2] |
|0052B8F0|neptune.exe|dcmd_client.cpp |TdmCmd_Client |CreerCmd_Client
|26[0] |
|005143FB|neptune.exe|main.cpp |TfmMain |Nouvellecommande1Click
|549[2] |
|005143E8|neptune.exe|main.cpp |TfmMain |Nouvellecommande1Click
|547[0] |
|005127EF|neptune.exe|main.cpp |TfmMain |OvcLookOutBarItemClick
|198[44] |
|004247B4|neptune.exe|neptune.cpp | |WinMain
|230[51] |
|-------------------------------------------------------------------------------------------------------------|
|
|
| Running Thread: ID=268; Priority=0; Class=; [Main]
|
|-------------------------------------------------------------------------------------------------------------|
|004BA4FB|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.TerminateWriteThread|941[38] |
|004BA665|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.TerminateWriteThread|1011[108] |
|004BA610|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.TerminateWriteThread|1001[98] |
|004BA3D8|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.WriteSQLData |898[11] |
|004BA318|neptune.exe|FIBSQLMonitor.pas |Fibsqlmonitor
|TFIBSQLMonitorHook.WriteSQLData |887[0] |
|004B448E|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.ExecQuery
|3230[100] |
|004DA548|neptune.exe|pFIBErrorHandler.pas|Pfiberrorhandler|TpFibErrorHandler.DefaultOnError
|202[87] |
|0048AE04|neptune.exe|fib.pas |Fib |IBError
|485[59] |
|004A00E6|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataEvent |6101[4] |
|004A8ADB|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.SetFieldData |10044[122]|
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|004A41D8|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7819[62] |
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004EC4F0|neptune.exe|StrUtil.pas |Strutil |Q_StrLen
|1603[1] |
|004F064E|neptune.exe|pFIBLists.pas |Pfiblists |TObjStringList.HashFunc
|313[3] |
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|00496694|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBStringField.IsDBKey
|1457[4] |
|004968BE|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBStringField.GetValue
|1542[13] |
|004968FA|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBStringField.GetValue
|1547[18] |
|004A00E6|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataEvent |6101[4] |
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004A8ADB|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.SetFieldData |10044[122]|
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|004A41D8|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7819[62] |
|004A3C67|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7665[2] |
|004A3D6D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7690[27] |
|004DAEC0|neptune.exe|pFIBFieldsDescr.pas |Pfibfieldsdescr
|TFIBFieldDescrList.GetFieldInfo |138[1] |
|004A41D8|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7819[62] |
|004A3C67|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7665[2] |
|004A3D6D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataConvert |7690[27] |
|004D42C7|neptune.exe|pFIBDataSet.pas |Pfibdataset
|TpFIBDataSet.LoadFromStream |1241[12] |
|004A41B0|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7816[59] |
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004A00E6|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.DataEvent |6101[4] |
|004A41B0|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7816[59] |
|004A8ADB|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.SetFieldData |10044[122]|
|004A431D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7860[103] |
|004A419D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7814[57] |
|004A412D|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.GetFieldData |7802[45] |
|004B06A0|neptune.exe|FIBQuery.pas |Fibquery
|TFIBXSQLVAR.GetServerSQLSubType |1511[74] |
|0048DBBB|neptune.exe|FIBDatabase.pas |Fibdatabase |TFIBDatabase.CheckActive
|1032[23] |
|00491C85|neptune.exe|FIBDatabase.pas |Fibdatabase
|TFIBTransaction.CheckInTransaction |2892[7] |
|0049223B|neptune.exe|FIBDatabase.pas |Fibdatabase
|TFIBTransaction.GetDatabase |3061[1] |
|00492230|neptune.exe|FIBDatabase.pas |Fibdatabase
|TFIBTransaction.GetDatabase |3060[0] |
|00491899|neptune.exe|FIBDatabase.pas |Fibdatabase |TFIBTransaction.Call
|2830[4] |
|0048AC40|neptune.exe|fib.pas |Fib |IBError
|426[0] |
|004B35B5|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.Call
|2858[6] |
|004B3548|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.Call
|2852[0] |
|004B436B|neptune.exe|FIBQuery.pas |Fibquery |TFIBQuery.ExecQuery
|3196[66] |
|004D32C9|neptune.exe|pFIBDataSet.pas |Pfibdataset
|TpFIBDataSet.InternalPostRecord |796[12] |
|004A789E|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.InternalPost |9527[73] |
|004A76F4|neptune.exe|FIBDataSet.pas |Fibdataset
|TFIBCustomDataSet.InternalPost |9454[0] |
|004D36A1|neptune.exe|pFIBDataSet.pas |Pfibdataset |TpFIBDataSet.InternalPost
|908[1] |
|00498BBC|neptune.exe|FIBDataSet.pas |Fibdataset |TFIBCustomDataSet.Post
|2864[2] |
|00472236|neptune.exe|clientmodify.cpp |TfmClientModify |btOKClick
|84[52] |
|00429E40|neptune.exe|dmf.cpp |TdmFich |CreateClient
|540[17] |
|00429D4C|neptune.exe|dmf.cpp |TdmFich |CreateClient
|523[0] |
|00478839|neptune.exe|cmd_client.cpp |TfmCmd_Client |btNouveauClientClick
|418[2] |
|00479448|neptune.exe|cmd_client.cpp |TfmCmd_Client |Afficher
|542[2] |
|0047943C|neptune.exe|cmd_client.cpp |TfmCmd_Client |Afficher
|540[0] |
|0052BC02|neptune.exe|dcmd_client.cpp |TdmCmd_Client |TraitementCmd_Client
|75[14] |
|0052BB48|neptune.exe|dcmd_client.cpp |TdmCmd_Client |TraitementCmd_Client
|61[0] |
|0052B924|neptune.exe|dcmd_client.cpp |TdmCmd_Client |CreerCmd_Client
|28[2] |
|0052B8F0|neptune.exe|dcmd_client.cpp |TdmCmd_Client |CreerCmd_Client
|26[0] |
|005143FB|neptune.exe|main.cpp |TfmMain |Nouvellecommande1Click
|549[2] |
|005143E8|neptune.exe|main.cpp |TfmMain |Nouvellecommande1Click
|547[0] |
|005127EF|neptune.exe|main.cpp |TfmMain |OvcLookOutBarItemClick
|198[44] |
|004247B4|neptune.exe|neptune.cpp | |WinMain
|230[51] |
|-------------------------------------------------------------------------------------------------------------|
| Calling Thread: ID=268; Priority=0; Class=; [Main]
|
|-------------------------------------------------------------------------------------------------------------|
|00425087|neptune.exe|forms.hpp |Forms |TForm
|932[0] |
|00425054|neptune.exe|forms.hpp |Forms |TForm
|932[0] |
|005169CB|neptune.exe|movingwaitbox.cpp | |TfmMovingWaitbox
|17[1] |
|0042473B|neptune.exe|neptune.cpp | |WinMain
|224[45] |
---------------------------------------------------------------------------------------------------------------
--
Best regards,
Jonathan Neve
_______________
CopyCat - advanced database replication
components for Delphi/C++Builder!
_______________________________________
e-mail: XXXX@XXXXX.COM
web : www.microtec.fr/CopyCat/index.html
 
 

Re:Problems with EurekaLog

Jonathan,
I suspect that this is no bug in EurekaLog, but
rather a real bug outside of EurekaLog, which
just happens to show up only when you're using
EurekaLog.
Why do you think this way? Because Delphi5 and
BCB5 both like to silenty ignore exceptions which
are raised in secondary threads. Such exceptions
just don't show up when you don't use an exception
tracking tool like EurekaLog or madExcept.
I think if you'd switch to BCB6, you'd see the
very same exception without EurekaLog, too,
because BCB6 does show thread exceptions, unlike
BCB5.
--
www.madshi.net
high quality low level Delphi components
extended exception handling
API hooking, DLL injection
 

Re:Problems with EurekaLog

Hi Mathias,
madshi (Mathias Rauen) wrote:
Quote
Jonathan,

I suspect that this is no bug in EurekaLog, but
rather a real bug outside of EurekaLog, which
just happens to show up only when you're using
EurekaLog.

Why do you think this way? Because Delphi5 and
BCB5 both like to silenty ignore exceptions which
are raised in secondary threads. Such exceptions
just don't show up when you don't use an exception
tracking tool like EurekaLog or madExcept.

I think if you'd switch to BCB6, you'd see the
very same exception without EurekaLog, too,
because BCB6 does show thread exceptions, unlike
BCB5.
Thanks a lot for the information, I didn't know that! You are probably right, since,
as it happens, the currently running thread is indeed a background thread.
This probably also explains why this error suddenly occurred when I switched to EL
version 5: IIRC, only the main thread was traced in the previous version.
Unfortunately however, even though I do appreciate that this is a useful feature of
EL, in this particular situation, I would much rather have the exception occur
silently in the background, because the thread that's raising the exception is not
very important, just the SQL monitor thread. So I don't care if there's an exception
in that thread, just as long as the user doesn't see it, and it doesn't interrupt
what he is doing...
Do you know of any work-around (short of actually fixing the bug)? Since in my
situation it's safe to ignore the exception, do you know how I can do this?
Thanks again!
--
Best regards,
Jonathan Neve
_______________
CopyCat - advanced database replication
components for Delphi/C++Builder!
_______________________________________
e-mail: XXXX@XXXXX.COM
web : www.microtec.fr/CopyCat/index.html
 

{smallsort}

Re:Problems with EurekaLog

Ehm, well, now that you say you didn't have this
problem with EurekaLog 4, maybe my guess was wrong.
I'm quite sure that EurekaLog 4 already catched
thread exceptions, too!
How to work around this exception? You should
better ask the EurekaLog author about that. He
has a support forum on his homepage.
--
www.madshi.net
high quality low level Delphi components
extended exception handling
API hooking, DLL injection
 

Re:Problems with EurekaLog

madshi (Mathias Rauen) wrote:
Quote
Ehm, well, now that you say you didn't have this
problem with EurekaLog 4, maybe my guess was wrong.
I'm quite sure that EurekaLog 4 already catched
thread exceptions, too!
Yes, it definitely didn't happen with EurekaLog 4. From one version of my application
to another, the bug suddenly appeared. I didn't make any radical changes in that
version, neither did I change versions of FIB+, but I did upgrade to EL 5...
But I still think your guess might be right. Perhaps EL 4 did handle thread
exceptions, but I'm pretty sure there was a change of some sort there with version 5,
I don't think the call stack used to be split up by thread before.
Quote
How to work around this exception? You should
better ask the EurekaLog author about that. He
has a support forum on his homepage.
Yes, I will. Actually, I've already posted the question there, but he hasn't answered
yet.
Thanks again for your help, especially considering that I'm using a product competing
with your's! Very nice of you. :)
--
Best regards,
Jonathan Neve
_______________
CopyCat - advanced database replication
components for Delphi/C++Builder!
_______________________________________
e-mail: XXXX@XXXXX.COM
web : www.microtec.fr/CopyCat/index.html
 

Re:Problems with EurekaLog

Quote
I'm pretty sure there was a change of some sort
there with version 5, I don't think the call stack
used to be split up by thread before.
Yes, version 4 only showed the crashing thread's
call stack, while version 5 shows all threads' call
stacks. But still I'm quite sure version 4 did catch
thread exceptions.
Quote
Yes, I will. Actually, I've already posted the
question there, but he hasn't answered yet.
He's on vacation for 2 weeks, I believe.
Quote
Thanks again for your help, especially considering
that I'm using a product competing with your's!
Very nice of you. :) --
Well, Fabio and I are no enemies, just friendly
competitors. We respect each other's products. :-)
--
www.madshi.net
high quality low level Delphi components
extended exception handling
API hooking, DLL injection
 

Re:Problems with EurekaLog

madshi (Mathias Rauen) wrote:
Quote
Yes, version 4 only showed the crashing thread's
call stack, while version 5 shows all threads' call
stacks. But still I'm quite sure version 4 did catch
thread exceptions.
Yes. Well, at any rate, I've just found another piece to the puzzle, which is that
any FIB+ error I generate (using invalid SQL) generates an access violation (which EL
then displays), followed by the real error message. This seems to be related to my
other problem, because the access violation occurs pretty much in the same place in
the FIB+ source code.
However, if I remove EurekaLog, the problem disappears, so it doesn't seem to merely
be a FIB+ bug, unless, as you pointed out, EL is just finding some obscure FIB+ bug
that isn't normally raised -- and if such is the case, I don't /want/ to raise it. :)
I sent a little test case to borland.public.attachments to show this problem.
Quote
Well, Fabio and I are no enemies, just friendly
competitors. We respect each other's products. :-)
That's good. :)
--
Best regards,
Jonathan Neve
_______________
CopyCat - advanced database replication
components for Delphi/C++Builder!
_______________________________________
e-mail: XXXX@XXXXX.COM
web : www.microtec.fr/CopyCat/index.html
 

Re:Problems with EurekaLog

Quote
I sent a little test case to borland.public.attachments
to show this problem.
The problem is I'm a database noob and no big BCB expert,
either. So I don't feel like being able to help you by
analyzing that test problem. But I'm sure Fabio will
have a look at it, when he's back.
--
www.madshi.net
high quality low level Delphi components
extended exception handling
API hooking, DLL injection
 

Re:Problems with EurekaLog

madshi (Mathias Rauen) wrote:
Quote
>I sent a little test case to borland.public.attachments
>to show this problem.


The problem is I'm a database noob and no big BCB expert,
either. So I don't feel like being able to help you by
analyzing that test problem. But I'm sure Fabio will
have a look at it, when he's back.

No problem there, I was just posting it in case someone else had any light to shed on
it. Thanks for your help.
--
Best regards,
Jonathan Neve
_______________
CopyCat - advanced database replication
components for Delphi/C++Builder!
_______________________________________
e-mail: XXXX@XXXXX.COM
web : www.microtec.fr/CopyCat/index.html
 

Re:Problems with EurekaLog

Hi Jonathan,
Quote
Jonathan Neve [Microtec] a écrit :
[...]
Did you get my last email ?
Pierre Y.
--
Pierre Y.
levosgien.net - cerbermail.com/?7dwZGWwOB0
(Cliquez sur le lien ci-dessus pour me contacter en priv?
Capitaine anglais : "Vous vous battez pour l'argent, nous on se bat
pour l'honneur !"
Robert Surcouf : "Vous avez raison, Monsieur, chacun de nous combat
pour ce qui lui manque."
 

Re:Problems with EurekaLog

Pierre Y. wrote:
Quote
Hi Jonathan,

>Jonathan Neve [Microtec] a écrit :
>[...]


Did you get my last email ?
Concerning CopyCat? Yes, I did, sorry I didn't answer right away. I was going to test
it before anwsering, that's why. ;) Thanks a lot for your contribution!
--
Best regards,
Jonathan Neve
_______________
CopyCat - advanced database replication
components for Delphi/C++Builder!
_______________________________________
e-mail: XXXX@XXXXX.COM
web : www.microtec.fr/CopyCat/index.html
 

Re:Problems with EurekaLog

Jonathan Neve [Microtec] a écrit :
Quote
Pierre Y. wrote:
>Hi Jonathan,
>
>>Jonathan Neve [Microtec] a écrit :
>>[...]
>
>
>Did you get my last email ?

Concerning CopyCat? Yes, I did, sorry I didn't answer right away. I was going
to test it before anwsering, that's why. ;) Thanks a lot for your
contribution!
... rassurant ;-)
Pierre
--
Pierre Y.
levosgien.net - cerbermail.com/?7dwZGWwOB0
(Cliquez sur le lien ci-dessus pour me contacter en priv?
Capitaine anglais : "Vous vous battez pour l'argent, nous on se bat
pour l'honneur !"
Robert Surcouf : "Vous avez raison, Monsieur, chacun de nous combat
pour ce qui lui manque."