The present invention provides a method and system for use by software
program developers. More specifically, the invention involves a system
and method that allows software developers to more effectively diagnose
bugs existing in software programs that may result in a crash of the
program. Using this method, a software developer will author program code
that includes LogEvent calls, which indicate events taking place that are
to be logged. The developer will include in the LogEvent call a text
string that is meaningful to the software developer and that indicates
what the program is doing at a certain event. A generation tool inserts
event tags that correspond to the text string and creates an index file
mapping the text strings to the appropriate event tags. The text strings
are then removed from the program code prior to retail sale, leaving the
event tags in place. As the program runs, a log file is created of the
events as indicated by the event tags. If the program should crash, the
log file is closed and is sent to the software company. In one
embodiment, the developer may include a flag that is used to remove any
sensitive or personal information prior to the log file being sent to the
software company. Once at the software company, the log file is processed
to generate a text file by mapping the event tags with the previously
removed text strings. Using this text file, the software developer can
determine the events leading up to the crash of the program and can more
easily develop a solution to the crash.