GPFReporter requires HyperActive and WinEvent
The CapeSoft GPFReporter allows you to trap program "illegal operations"
and offers the user the opportunity to email a short report to the
developer detailing the illegal operation.
- Simple to add to your program (literally takes 10 seconds or less)
- Identifies the line number in your application source code where the illegal
- Reveals the chain of procedure calls which preceded the illegal operation.
Adding GPFReporter to your Application
Adding GPFReporter to your Application is easy.
- While the App is Open go to the Global Extensions. Click on Insert.
- Select Activate CapeSoft's GPF Reporter from the ClassCapeSoftGPF.
- Fill in the email address(es) to which you would like GPF reports sent.
- Fill in your program title. This will appear on the GPF messagebox title bar.
- Give your program a version number. This is so that you can identify which version of your program has the problem.
- Select Activate CapeSoft's HyperActive from the ClassHyperActive. (Only if not already Active)
- Select Enable the WinEvent functions in your app from the ClassWinEvent. (Only if not already Active)
- Close and save the window.
- You need to set your project into full debugmode with line
numbers - to do this, open the project, click the properties button and set
the debug options accordingly. (In Clarion 7.1, you need to set the Build mode
to Debug. In the Build menu, select Set Configuration
: For multi-DLL applications only add GPFReporter to the main (EXE). See FAQ for more info.
Interpreting the GPF Report
When GPFReporter captures a GPF, it will display a report a bit similar to the following:
The Error at address
shows the stack address at which the GPF
occurred (i.e. line number 0).
was the line of code that called the method that the actual GPF
was the line of code that called the the code in 
and so on......
Normally the code that actually caused the GPF to occur would not appear
right on the top line, (i.e. at the Error at address
line), but in this
case this was it. Often you'll need to go down the list (of stack entries that
GPFReporter interprets for you) to find the last point in your code which was
called. You'll probably have to wade through some ABC method code, and some code
called from within the runtime libraries. Even the last line of your code that
you can find in the stack trace may not necessarily be the line causing the GPF
- there could be some variables set prior to that with null values or the like.
A lot of times GPFReporter will pinpoint the exact line of code causing the GPF,
but often it'll point you in the general direction and you'll need to do some
You can pretty much ignore the lines starting in '???'. These are generally
superfluous, and be more of a distraction, although they can aid in your search
at times - but these should be a last resort once you've used the [xx] lines to
get to an exact location. Often times you'll get some objects that try to
destruct at the GPF, so you can ignore those lines.
So, work from the top down, starting at the 'Error at' address, and then
working through the [xx] lines. Open the clw files indicated in the "Src=<filename>"
in your favourite text editor, and go to the line indicated in the "Line=xxxx".
From there you need to look at the code, and possibly put debugging in to see
why the program is crashing at that line.
if you have no line numbers in the stack trace, then you need to
turn this on in the debug settings of your project:
Options for the GPFReporter Template
Disable all CapeSoft GPF Reported features:
This option is used to
remove all GPFReporter code from this application. Useful for debugging
template clashes etc.
Email GPF Report to
Provide an email address to which the GPF
report is to be emailed. Use the format "Name <actual email address>".
GPF Log File Name
Name of the log file which will contain the report.
Defaults to "ApplicationName GPF report.txt".
Append to Log file
Each GPF will add another entry to the bottom of the log file.
If off then only the most recent GPF will be in the GPF Log file.
GPF Window Title
Text to appear on the GPF Message title bar.
Use resource version
The version number from the resource info is used
as the version number.
This Program Version
Give your program a version number. This is
so that you can identify which version of your program has the problem.
You may use 'quotes' to provide a string constant or you may use an equate or
If you use a variable then it should be set before the GPF Reporter comes
into scope. (Setting the initial value works).
Offer to Email GPF Report
If on, then an Email button will be visible on the GPF window.
Email Options - Default
Where the GPF report
text is too long to be passed to the email client as one block then the report text is copied to the clipboard and the
mail client is called with the following text in the body.
Edit|Paste the report here (CTL+V) or attach the logfile.
6\3rdParty\examples\GPFRep\GPFDemo GPF report.txt
Email Options - Split Email if too long
Where the GPF report
text is too long to be passed to the email client as one block then the report is split into parts and sent as multiple
Email Options - Always use Paste Method
The the GPF report
text is always copied to the clipboard and the
mail client is called with the following text in the body as above.
Messagebox Options - Details Only (Skip first messagebox)
: When set the first message
"This program...." is skipped and the details message is displayed.
Messagebox Options - Email only (no messagebox)
When set both message box windows are
skipped and the report is emailed without user input.
Messagebox Options - Close Quietly (no messagebox)
When set both
message box windows are skipped program is terminated without user input.
Defaults True. When set the application is
restarted. The message is modified to say "restarted" instead of
Close Quietly on Exit
Defaults True. When set then the "Close
Quietly" option is enabled during program exit. This can be used to mask
Show Stack Details
Defaults FALSE. When set then the registers
and a full stack dump is included in the report. Don't check this as it bloats
your logfiles with information that is almost impossible to read.
Debug eMail (Make "AppName DebugEmail.txt")
When set then the email text is logged to "ApplicationName DebugEmail.txt"
Debug GPF Reporter (Make "AppName DebugLog.txt")
When set then the GPF Reporter progress logged to "ApplicationName DebugEmail.txt"
Provide a name for this instance of the GPFReporter
object. The default name is "ThisGPF".
Select which base class to use. The default base
class is "GPFReporterClass".
For Win95, Win98 and WinNT the redistributable DBGHELP.DLL is used to create the stack
Please place this DLL in the application directory (not the windows directory).
You will find a copy in your \clarion X\3rdParty\bin directory.
There is an example in your \ClarionX\3rdParty\Examples\GPFRep
Tip & FAQ
Clarion Versions :
Download from www.capesoft.com
My program exits without GPF reporter displaying any messages.
Interpreting the GPF Report
Runtime GPF Issues
Other Runtime issues
My application gives me an "index out of range" error. How do
I locate the error line?|
Answer: If you enable array index range checking
(project property) then the range checker will ask "Do you want to GPF?"
If you select "Yes" then the GPFReporter will report that your
application GPF'd in the clarion runtime (range checker). The
actual line where the error occurred is lost however the stack trace
shows where that procedure was called from. This usually narrows
your search down to one procedure.
My application is a large multi DLL application, do I have to
enable debugging and recompile all the DLL's.|
Answer: No, the GPFReporter
will identify the module in which the GPF occurred and only that module
need be recompiled with the "Debug Information" mode set to FULL or MIN
(not OFF). This will provide the source module line number where
the GPF occurred.
|FAQ3|| How do I add GPFReporter to a multi-DLL application.|
The GPFReporter should only be added to the EXE. The GPFReporter is
installed as the default exception handler and will work for all threads
including DLL calls.
The GPF Report says that the error occurred on a line past the
end of my source. Why.|
Answer: The GPF Reporter line numbers are for
the CLW modules, not the embedded source. In the clarion IDE
right-click and select MODULE not SOURCE.
|FAQ5|| How do I
interpret the Stack Trace?|
Answer:The Stack trace is
"upside down". The most recently used procedures are at the top.
The "main" should be at the bottom unless this exception occurred on
closing the application.
The GPF Reporter says that the exception occurred at address :
XXXXXXXXh no module. What does this mean?|
Answer: This means that the
program is executing outside of the code space of any of its modules.
This can happen when your program calls an invalid procedure pointer.
|FAQ7|| The GPF Report Stack Trace is empty. Why?|
Possibly your program has caused an exception while loading or exiting the
clarion runtime code. This is unlikely. Usually what has
happened is that the program has trashed the return stack and so the
Stack Trace is garbage.
A very common programming error that results
in a trashed stack is to use string slicing with reversed position
Example : IF SomeString[6 : 3] = 'ABC' ....
Unfortunately the debug "array range checking" tests that the positions
fall in the string but fails to test for illegal position numbers.
|FAQ8|| Which exceptions are handled by the GPF Reporter?|
Any exception that would usually end your application with the windows
exception handler. The following are defined:
The GPF Reporter reports that the exception occurred in the
"Library state". What does this mean?|
Answer: "Library state" is the
label given by the clarion compiler to code inside the clarion RTL
(C60RUNX.DLL) or LIB. This is where most exceptions occur (as your
program code is a series of calls to clarion functions). Before
you send a bug report to SV please read on.
You need to locate where
in YOUR code you called this clarion library code from. Once you
have established where your code called the library then you must find
the reason for the exception (usually something done, not done or done
The stack trace is there to show you where in YOUR code the
clarion library was called from. See FAQ 5 & 7.
|FAQ10|| My stack trace shows lines prefixed with ???. What does
Answer: These are addresses on the stack which might be part
of the calling chain.
If a procedure makes a call to another procedure then it may
(optionally) push the EBP ("Stack Frame Pointer") onto the stack and
then copy the ESP ("Stack Pointer") over the EBP. This allows us
to "walk" back down the stack using the pushed EBP / EIP ("return
If the called procedure does not push the EBP and then calls a 3rd
procedure which does push the EBP then it appears, from the stack trace,
that the first procedure called the 3rd procedure. The second is
My GPF report contains the expression "Line ?=XXXX" Is the
GPF Reporter unsure?|
Answer: Yes. This occurs where "min" debug info is
compiled into the program / DLL.
If possible compile the module with "full" debug info. The GPF
Reporter can then verify the ?= line numbers.
Will using "min" or "full" debug settings slow my program load /
Answer: Yes the program will take longer to load and will
execute more code. However the change is usually not noticeable.
Please note that although the EXE / DLL might increase in size by a
large amount (often from 1mByte to 10mBytes) this does not affect the
load / execution speed. The debug info added to the EXE / DLL file
is not loaded into program memory.
The program is however not optimized by the compiler in debug mode
and index range checking etc adds extra code which accounts for the
slower load / execution times.
I am using Armadillo and now the GPF Reporter no longer works.
Is there a work around?|
Answer: Yes. In the Armadillo options you
will need to set the "Data after program" option to "Fake original data
This is only available in the Armadillo Professional edition.
The GPF Reporter then works correctly.
I am using Eudora and GPF Reports containing & or ? do not eMail
correctly. What can I do?|
Answer: Select the "Always use Paste
Method" Email option.
|FAQ15|| I know there was a GPF but the GPF reporter never executed.|
Uncheck the "Enable Wait Window" option.
Often after a GPF the clarion runtime library (in memory) is not able to
open the wait window. The GPF Reporter then GPF's while opening
this window and as it is installed as the GPF handler....
If the above does not resolve the problem then try setting the "close
quietly" option. Look in the GPF Report Log for the report.
Also take a look at: My program exits without GPF reporter displaying any messages.
I've added GPF Reporter to my
program. This requires that debugging be switched on. Now I get the
" Assertion failed on line: 303 in file abfile.clw. Message: You are
calling CLOSE(thefile) instead of FileManager.close(). Shall I GPF?"
error! How can GPF Reporter and FM3 co-exist?|
Answer: GPF Reporter Clarion's Debug mode to
be switched on. As most of you know, ABC has an over sensitive
assert warning when you've used a legacy close() instead on an
Access:File.close() (see GQxx for more info). The only way to allow
FM2/3 and GPF Reporter to co-exist in an application is to comment
our the assert in your abfile.clw in your Clarion\libsrc directory.
When we try to run your demo, instead of Outlook client opening up, we have 32 web pages pop up with the following URL:|
Answer: Have you just changed mail servers GroupWise to
Exchange - and maybe the client install didn't go as smoothly as it should have?
Solution: In the IE browser, go to Tools, Internet Options, Programs Tab
a. Changed E-mail from Microsoft Office Outlook to Outlook Express.
b. Changed it back to Microsoft Office Outlook. Problem was
My program exits without GPF reporter displaying any messages.
1. Check that your program has been compiled in debug mode (Build | Set
Configuration | Debug)
2. In your project settings, on the Compiling tab, set the Runtime
Checks (Index out of range and Stack Overflow) off.
It could be that the program exited under (albeit unknown) instruction. Occasionally the program GPF's so badly,
that it cannot even display the message window to show the GPF.
In this case, you will only be able to view the GPF logfile in order to see what the problem was.
The logfile is made in the directory specified in the GPF
Reporter Global Extension template
I don't want any messages to appear, and I want my
app/service to restart and email me the logfile.|
In the Settings tab of your GPF Reporter global extension template, you
need to do the followin
You will get multiple emails for the same GPF (broken into 2 or 3
parts) - but you will get the report pasted into the email. The user
will just need to hit send on each email.
- Check the "Restart Program" checkbox.
- In the "MessageBox Options", select the "Email Only" radio
- In the "Email Options" group, you need to select the "Split
eMails if report too long" radio button.
I'm using Clarion 7, but no line numbers are shown in the GPF report.|
You need to set the Build mode to Debug. In the Build
menu, select Set Configuration to Debug
Since upgrading to Windows7 I get many
emails to send (around 30 plus) each time my application GPFs, with only
a line or two in the body of the email
GPF Reporter uses the command line to interact with the mail client,
which has a limitation of characters (in the order of 512 chars). If
your command line (particularly the path of the application) is very
long, (and the from mail address and to mail address, and subject) then
this leaves little room for the actual text of the GPF log. What we do (
and indeed recommend) is to write to a log file. The next time the
application opens, we email the GPF Report as an attachment (using
NetTalk) which bypasses this limitation completely.
GPFRep Class Properties
CloseQuietly (byte) : When set then the exception handler terminates the
process without any message. This is useful for services which can be
restarted without first closing the exception message window. The Report
is still sent to the GPF dumpfile.
Disable (byte) : When set this disables the GPF Reporter exception handler.
Exceptions will go the the default windows exception handler.
RestartProgram (byte): Set this to immediately restart the program
after the GPF occurs.
ShowDetails (byte): This should be 0. To
view additional stack details, set this to 1 (but it makes your logfile close to
DumpFileName (string) : A copy of the exception report text is placed in this
file. The GPF Report text overwrites this file (unless DumpFileAppend is
ReportText : This string is appended to the bottom of the GPF Report.
This is intended for use with the ExtraReportText method (below).
Embedded CR/LF ('<13,10>') will format the text on multiple lines.
TextForMessage1 : Default= 'This program has performed an illegal
operation and will now end.'
TextForMessage2 : Default= 'This program has performed an illegal
operation and will now end.'
TextForOKButton : Default= 'OK'
TextForDetailsButton : Default= '&Details'
TextForEmailButton : Default= '&Email Report'
TextForPasteInstructions : Default= 'Edit|Paste the report here (CTL+V)
or attach the logfile.'
TextForProgram : Default= 'Program'
TextForVersion : Default= 'Version'
TextForTime : Default= 'At'
TextForDate : Default= 'on'
DateFormat : Default= '@d10'
TextForReportedError : Default= 'Reported error'
TextForAccessViolation : Default= 'EXCEPTION_ACCESS_VIOLATION'
TextForErrorReadingData : Default= 'Error reading data at'
TextForErrorWritingData : Default= 'Error writing data at'
TextForOS : Default= 'Windows'
TextForClarion : Default= 'Clarion'
TextForThread : Default= 'Thread'
TextForErrorAtAddress : Default= 'Error at address'
TextForStackTrace : Default= 'Stack Trace'
TextForStackDump : Default= 'Stack Dump'
TextForDLLMissing : Default= 'Please copy DBGHELP.DLL into the
application directory.<13,10>This will enable GPF Reporter to provide more
information (Win98/NT only).'
TextForStackCorrupt : Default= '*** Error Stack corrupt ***'
TextForStackTraceStopped : Default= 'Stack Trace stopped, too many
TextForEnd : Default= 'END'
TextForPart : Default= 'PART'
TextForLine : Default= 'Line'
TextForProc : Default= 'Proc'
TextForSrc : Default= 'Src'
TextForModule : Default= 'Module'
TextForDebugInfoNotFound : Default= 'no debug info'
TextForModuleNotFound : Default= 'no module'
TextForLineNotFound : Default= 'no line number'
TextForPleaseWait : Default= 'Please wait, reading debug information'
TextForPleaseWait2 : Default= 'Please wait, loading email program'
TextForField : Default= 'Field'
TextForEvent : Default= 'Event'
TextForKeycode : Default= 'Keycode'
TextForTopWindow : Default= 'Top Window'
TextForTruncated : Default= '***Truncated***'
TextForNoProc : Default= 'no proc'
GPFRep Class Methods
: This method deletes the current GPF report log file.
This may be useful if appending to dumpfile is selected.
: This method is called after the program has
performed an exception.
You may provide extra debugging info in the GPF Report by setting the ReportText
property here. Example:
self.ReportText = 'User=' & clip(CurrentUser) & '<13,10>This text is on a
Please note that there are some limitations on code that may be executed from
inside an exception handler (here).
- You may not use NEW (allocate memory).
- You may not execute code that will generate an exception (such as calling
OutputDebugString without a debugger present).
Your questions, comments and suggestions are welcome. Check our web page (
) for new versions. You can also contact us in one of the following ways.
||+27 21 715 4000
||+27 21 715 2535
PO Box 511, Plumstead, 7801, Cape Town, South Africa
GPFReporter is available for purchase from:
||+27 21 715 4000
||+27 21 715 2535
||PO Box 511, Plumstead, 7801, Cape Town, South Africa
1. Run the supplied installation file.
License & Copyright
This product is copyright © 2004-2013 by CapeSoft Software.
You are not
allowed to copy any of the files, including but not
limited to, csGPF.tpl, csGPF.tpw, csGPF.clw, csGPF.inc and
None of the included files may be distributed. Your programs which use GPFReporter
can be distributed without any GPFReporter royalties.
Each developer needs his own license to use GPFReporter. (Need to buy
This product is provided as-is. Use
it entirely at your own risk. Use of this product implies your acceptance of
this, along with the recognition of copyright stated above. In no way will CapeSoft
Software, their employees or affiliates be liable in any way for any
damages or business losses you may incur as a direct or indirect result of using
Download latest version here
Version 2.35 - 21 October 2015
Version 2.34 - 19 October 2015
- Template in 2.34 version did not set Class DLLMode and LinkMode
Version 2.33 - 25 February 2015
Version 2.32 - 27 January 2014
Version 2.31 - 15 November 2013
- Build compatible with, and requires, WinEvent 5.
- Added output to Debugview when a GPF occurs.
- Changed from Hyperactive Project Defines to GPFReporter project
Version 2.30 - 30 April 2013
- Added option to global extension to suppress "email" button on GPF
Report windows. Note that the code still requires HyperActive to compile
correctly, but hiding the button is useful in cases where the app is
used on networks without email.
Version 2.29 - 14 March 2013
- Updated Install to detect Clarion 9.
Version 2.27 (29 October 2012)
- Changed to Ver4 object/template management system.
- Add: support for Multi-Proj in C8
Version 2.26 (17 March 2010)
- Change: Tweaked to provide better compatibility with new SelfService
- Change: Implemented Cape.Tpw object generation template.
Version 2.25 Gold (16 March 2010)
- Clarion 7.1 support - removed Pascal attribute from
- Added Legacy example.
Version 2.24 Gold (30 December 2009)
- Clarion 7.1 support - New C71 feature LastChanceHook
overrode GPF Reporter functionality. Added code to overcome this.
Version 2.23 Gold (14 July 2009)
- Clarion 7.1 support - tweaked procedure name from _VectoredExceptionHandler
to _VectoredExceptionHandler_ (not favourable in C7.1)
- Template tweak - don't generate all procedures in the main module, just
the ones utilized.
Version 2.22 Gold (19 June 2009)
- Added Workstation name, User name and Terminal Server
status to GPF Report.
(Note : Requires WinEvent Version 3.61 or later.)
Version 2.21 Gold (10 November 2008)
- Small bug in DLL Load process fixed.
Version 2.20 Gold (28 October 2008)
- Clarion 7 compatible install.
Version 2.19 Gold (30 September 2008)
- Better support for Legacy apps.
Version 2.18 Gold (24 September 2008)
- Fix template generation bug if last procedure in app is a Source procedure.
Version 2.17 Gold (24 September 2008)
- fixed template bug which resulted in %dMethodsGPF has no instance
Version 2.16 Gold (23 September 2008)
- Fixed %cwtemplateversion error in Clarion 5.5
Version 2.15 Gold
- Object Handling Template improved.
(16 September 2008)
Version 2.12 Gold
- Template fix where template was overlapping with xFiles.
: (19 September 2007)
Version 2.11 Gold
- Template fix - fix for legacy class generation regression introduced in
2.11 (includes csGPF.tpw 1.55).
: (3 September 2007)
Version 2.10 Gold
- Removed ambiguous 'Close Quietly on exit' template option (duplicated in
the MessageBox Options).
- Display warning if RestartProgram is checked, as well as if selected to
not display a message on GPF.
- Includes csGPF.tpw version 1.54 (upgrade from 1.51). This contains a
number of fixes for legacy - which are not used in a Global class
implementation though; return when a type is an ANY; using a non-
case-sensitive name in the method ID (for matching embed points to methods).
: (22 June 2006)
Version 2.09 Gold
- The template detects the status of the Disable Checkbox in
relating templates (SelfService, HyperActive and Winevent) and handles the
GPFReporter functionality accordingly.
: (7 June 2006)
Version 2.08 Gold
- Set defaults correctly (in global extension template). GPF
Logfile name is set to 'GPFReport.log', Append to LogFile is checked, as
well as Restart Program and Close Quietly on Exit.
- Global extension prompts formatted correctly (so that test
doesn't spill over the tabs) and defaults clarified (for Email Options and
: (6 June 2006)
Version 2.07 Gold
- Rectify Global Extension template description.
: (5 June 2006)
Version 2.06 Gold
- New csGPF.tpw (sub template version 1.51) - fix for
interference with other templates (using the Object01.tpw template)
: (18 May 2006)
Version 2.05 Gold
- Relabelled the Show Stack Details checkbox.
: (10 May 2006)
Version 2.04 Gold
- Removed Help buttons from the template.
- Requires at least SelfService 3.09 (Alternative object
template variable) and WinEvent 3.33 (Template version variable)
- Uses #context to find the SelfService variable instead of
#alias (causes IDE to GPF sometimes).
- Faulty class snuck out the door during new installation
process build, so not all code was being generated into the derived
- ObjectWriter now generates () in a procedure definition
where there are no parameters. This will result in embedded handcode in
derived methods being orphaned. Cut and paste the derived code to the new
: (27 September 2005)
- Added check for GPF after runtime message "Do you want to GPF?"
- Added Enable "Wait Window" option. See
FAQ 15. This defaults to OFF as this is our
- Modified to work nicely with SelfService. (Thank you Jono)
- Removed window title from report - sometimes causes GPF in
the GPF Reporter.
Version 2.03 Gold
: (18 January 2005)
Version 2.02 Gold
- Fixed bug in 2.01 / 2.02 where Armadillo detected code
always returned "no debug info"
: (13 January 2005)
Version 2.01 Gold
- Modified "Close quietly on Exit" to disable "Restart
- Fixed bug in 2.01 template where template variables were missing.
: (12 January 2005)
Version 2.00 Gold
- Added a new option to force eMail Paste Method. See
Options. NB The old "Split eMails if
report too long" selection is lost so please re-select as required.
- Added a line break between reports while appending to log file.
- Added GPFRepBuild and GPFRep:Version equates to the
csGPF.TPL template. These can be used to test the GPF Reporter version.
- Added a few more FAQ's See
: (4 January 2005)
Version 1.14 Beta
- Fixed bug where & in the Window title truncated the email
- Hid the progress counter from the "Please wait loading eMail"
: (10 December 2004)
- Changed options to use radio buttons. See
Options. NB The old "Skip first
messagebox" selection is lost so please re-select as required.
- Fixed bug where long reports overflowed the string buffers
and were truncated.
- Fixed bug where "min" debug info did not report line
numbers. See FAQ 10 for more info.
- Fixed bug where locating the debug info sometimes cause a
GPF in GPF Reporter (non WinXP)
- Added FAQ 10 & 11
- Modified the "Program Restart" procedure to use
ShellExecute for faster restarting.
- Added various options to suppress the messagebox. See
- Fixed bug where email under Win2003 were split into very
small blocks. Requires WinEvent 3.27
Version 1.13 Beta
: (3 December 2004)
Version 1.12 Beta
- Fixed bug introduced in 1.12 where no open window causes
the GPF Reporter to GPF on an exception. Please don't laugh....
- Added "Debug eMail" option. See
: (2 December 2004)
Version 1.11 Beta
- Added a "Please wait loading eMail" window.
- Now needs WinEvent 3.25, modified ds_GetVersionInfo().
- Added the procedure name to the reported details.
Included tabs between items to improve readability.
- Fixed bug where code in between procedures (in procs with
no debug info) was reported as last line of preceding procedure.
- Added a Show Stack details option. See
- Fixed bug in "New class properties" where the string size
was not generated.
- The Stack Trace now shows other possible calls - prefixed
- Added Field(), Event(), Keycode() and Current window title
to the report.
: (4 November 2004)
Version 1.10 Beta
- Added option to restart program. See
- Added the display of the resource version number of called
DLL's onto the DLL name in the stack trace.
- Added a "Please wait loading.." window, opens while debug
info is read from the files.
: (2 November 2004)
Version 1.09 Beta
- Fixed regression where SkipInitalMessage was ignored.
- Added option to use the resource version number as the
version number. See Options. (Needs
- Added properties for all text. This is to allow for
language translation. See Properties
: (1 November 2004)
Version 1.08 Beta
- Fixed bug where & in the filename truncated the email report.
- Added property DumpFileAppend. Sets append mode for
writing to the Log file. See Options
(Needs WinEvent 3.22)
- Modified the template to allow for a variable to be used as
the version number. See Options
- Added method DeleteDumpFile. This methods deletes the
current dumpfile. See Methods
- Removed the "Try continue" button. (Popular demand.)
- Documented the ReportText and ExtraReportText method /
property. See Methods &
- Replaced FAQ 9.
- Fixed bug where " was encoded as (. Thank you Jim.
- Upgraded to the new super cool CapeSoft look.
- Added help button to the template
: (11 October 2004)
Version 1.07 Beta
- Fixed bug where the email text was not compatible with outlook.
- Added property SkipInitalMessage. Skip first message,
display details message. See Options
: (7 October 2004)
Version 1.06 Beta
- Fixed bug where GPF Reporter required WinEvent version
3.22. Should be WinEvent 3.21.
- Added the Thread number to the report.
: (6 October 2004)
Version 1.05 Beta
- Modified the template to generate a warning where a old
(non-compatible) version of WinEvent is installed.
- Fixed bug where the GPF Report log file was not generated
when the "email" button was pressed.
- Fixed bug where a corrupted stack caused the GPF Reporter
to stop with some debug info.
: (4 October 2004)
Version 1.04 Beta
- Modified the template to generate a warning where the GPF
Reporter is added to a non EXE.Removed the _GPFRep_ project define as only needed for DLL
: (30 September 2004)
Version 1.03 Beta
- Extended GPFReporter to support Win95.
- Fixed bug where WinNT split eMail reports where corrupted.
- Made the splitting of eMails into parts optional. See
- Added a GPF logfile. See Options
- Added some GPFRep class properties. See
- Added lots of FAQ's. See Tips
- Added support for multi-proj
(another fine CapeSoft product).
: (20 September 2004)
Version 1.02 Beta
- Extended GPFReporter to support Win98, WinNT and newer
versions of windows.
- DBGHELP.DLL needed for stack trace under Win98 & WinNT.
Should be in the application directory.
: (13 September 2004)
Version 1.01 Beta
: (8 September 2004)
Version 1.00 Beta
: (11 August 2004)