want you error expertise

Bernard Devlin bdrunrev at gmail.com
Thu Feb 16 12:21:46 EST 2012


1. Does LC on Windows not produce a crash log the way it does on OS X?
 I would look at that if it exists.  On OS X I've found these logs to
be quite useful in tracking down crashes (mostly, in recent years, in
my experience these crashes have related to externals).

2. If the log does not exist or is of no help, why not select one
customer and send them the simplest possible LC app - one that just
opens, and prints something to a field.That at least will tell you if
is fundamentally the engine.  And if not, (and there is no crash log),
then ...

3. I suspect you have to produce a debug build of your app.  It will
need to load externals one by one, and log what it is doing.  Equally
your debug build would need to load e.g. images one by one, and log
it, in case it is a single image that does it.

An intermediate step between 2 & 3 might be to have your simple app
read the Windows event log (you might have to use VBScript fo this).
It might be a bit much to ask the user to do that.  You could ask your
user to create a new login, and to install something like Skype (which
I believe has screen-sharing), then you could look at the even log
yourself.  In fact, on that matter, why not get your user to create a
new login, and run your app under that new account.  It is worth
eliminating that variable too.

Steps 1 & 2 should require little work, and should give you an idea
whether or not tracking down the cause of the crash is going to be
possible.  If the log exists and you cannot work out what is causing
the crash from it, you could send the first 20 lines to the list (or
to Runrev).

You could try using Ken Ray's Stackrunner as your test app (although
the engine it includes is 4.0).
http://www.sonsothunder.com/devres/revolution/downloads/StackRunner.htm

I absolutely hate it when things just crash.  But very often, one can
take logical steps to isolate the point at which the crash occurs.
Somewhere along the line, the cause is going to be programmer error.
And by hoping that it is one's own error, one at least has the chance
to fix it.  Even if it is an error in an external, there are ways to
work around many things.

Richard's suggestion of logging is very important.  In fact, I think
one ought to build-in logging as a matter of course (including a
feature to make logging more or less verbose).  Under normal
circumstances, an app should check if logging is enabled, and if not
just procede.  It will have minimal impact on the performance.  I know
that this is a bit late for you now.  I think it is Kernighan and
Pikes "Practice of Programming" that said logging should be an
integral part of all applications.

Hopefully you will be able to isolate the problem by going no further
than a debug app that loads other resources one by one and logs them.

Bernard

On Thu, Feb 16, 2012 at 7:54 AM, Tiemo Hollmann TB <toolbook at kestner.de> wrote:
> How are your experiences and how do you approach these kind of errors / what
> do you tell your customers?




More information about the use-livecode mailing list