Hi,
Yes you can. What you must do is first after setting things up as
per my other message, you'll see if you have compiler messages turned on
that every time you compile again a new MAP file is created and placed next
to the exe for the same compile. Leave the component on you project, and
have a copy of the MAP file installed in the same directory as the app on
user's machines. As long as the MAP file was a result of the compiled app,
it will continue to offer it's messages to your log file which they can then
send to you. HTH's
from "Robert Meek" dba "Tangentals Design"
Creative Concepts Programming for Windows Vista
Proud to be a Moderator for The Delphi-Lists @ Elists.org
E-mail: [EMAIL PROTECTED]
"Reality cannot be explained or rationalized by those of us who remain
trapped within her
cold, inpenetrable boundaries. What little we Grok of its universal
nature would seem if
nothing else, to constantly re-enforce our need to remain faithful and
tolerant of this
strict and unforgiving mistress God has seen fit to warrant as required.
Yet there are indeed
those of us in peaceful residence within her great and unforgiving
environment for whom the
unnatural oppositions found within this fluid matrix of causal physics and
divine rules she
governs us by without conspiring against as willingly. So with as many
jealous reasons,
and we being the equal products of its true and still unknown purpose, we
cannot allow
ourselves to remain but as sonambulant lap-dogs or willing submissives
waiting in hope of
realizing our own lost or forgotten selves along with the freedoms and
rights that all life,
by the very ideal that defines it, is guaranteed!" (C 2007 "Lessons in
Tangent Reality")
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Chuck Belanger
Sent: Friday, May 30, 2008 12:53 PM
To: Borland's Delphi Discussion List
Subject: Re: Strange Bugs--Robert Meek question about JvDebugHandler
Hi, Robert:
Thanks for the post about JvDebugHandler.
I, too, am a newbie with Delphi (7). Just released my first commercial
application and am finding that users have errors that I can not
duplicate on my system. (We're all XP.)
My question is:
Can I set this up to run as part of the compiled app that the initial
users (they know that the program is still in beta and understand the
need to track down the errors--there are 60 of them) can then send that
exception log file back to me when they run into something?
Right now all I have is a simple log file of the immediate error only.
Most users do a screen shot which is more helpful since it tells me
where in the program they were, but even that at times misses the subtle
actions that a user can take up to that point of the bug. Right now, I'm
pretty much stuck on "if I can't reproduce the bug, I can't fix it."
There are definite differences in computer environments, especially
between lap tops and desk tops, and most users are not aware of their
actions up to the bug.
Thanks,
Chuck Belanger
> Hi Alan,
> I asked the same question more than a few times years ago, and never
> got an answer that was applicable to every situation. I finally
> realized that this was because every error is different and there's no
> real systematic way of dealing with them! The best I can offer is to
> make sure you first find out where the error is. I never used
> MadExcept so I don't know what kind of information it gives you. I've
> had the most success tracking them down by having the Jedi JCL
> installed. It provides an option that appears under Delphi's Project
> menu that you turn on called Jcl Debug Info and automatically sets
> your project options up to provide the correct information. Then turn
> your MAP file on to detailed, which is under the Linker section of
> your Project options, and add the JvDebugHandler component I and
> another guy first wrote together for Delphi 6. I've kept it updated
> and it still works even with D2007. It can be found under the
> JvSystem Tool Palette. Turn all its properties on and then
> double-click it's OnOtherDestination event and add code as below:
>
> procedure TMainF1.JvDebugHandler1OtherDestination(Sender: TObject);
> begin
>
> JvDebugHandler1.ExceptionStringList.SaveToFile(IncludeTrailingPathDeli
> miter(
> AppPath) + 'Exception Log.txt');
> end;
>
> In about 90% of the cases this has not only given me the exact line
> on which the error occurred but also provides clues to its cause, as
> it traces thru each event leading up to it. Just make sure you turn
> this option off, get rid of the event and the component, and check
> your Linker options again before making the final compile!
> In the few instances where I am still unable to figure it out, I
> usually put a breakpoint on a line in the Delphi editor, ( click in the
left
> margin ), somewhere before the error occurs and then run the app from the
> IDE. When it stops at the break, I then move thru the rest of the app
line
> by line using Step Over, ( f8), until I again hit the error. And if that
> doesn't clue me in, then I do the same but move thru it using Trace Into,
(
> f7 ), because this will take me thru the source as well and many times
> that's where the culprit is! And if it is, sometimes youcan find another
> way to do the samething, or at least find out if the problem is coming up
> because you need to use it differently due to version differences. A nice
> thing about using breakpoints too is that you can check the value of
> variables anywhere preceeding the break by moving the mouse over them. HTH
>
>
>
> from Robert Meek dba "Tangentals Design"
> e-mail: [EMAIL PROTECTED]
> Freelance Windows Programming for XP and Vista
> Also proud to be a Moderator of the "Delphi-List" at elists.org
>
> "Reality cannot be explained...only enjoyed or endured as your current
> perspective allows!"
>
>
_______________________________________________
Delphi mailing list -> [email protected]
http://lists.elists.org/cgi-bin/mailman/listinfo/delphi
_______________________________________________
Delphi mailing list -> [email protected]
http://lists.elists.org/cgi-bin/mailman/listinfo/delphi