这是我的崩溃报告器工具1.0版。 自Beta版本以来,它已经经历了很多更改,并且我仍然希望添加一些功能和内容,但是我认为现在是时候让其他人使用它了。 有关下载链接,请参见本页底部。
这是崩溃报告器?如果您与用户合作了一段时间,您可能会发现,对于错误报告的详细信息,他们并不总是最可靠的信息来源。
如果您(开发人员)坐在同一栋建筑物中,他们可能会转过身来,请您来看看他们的显示器。 但是,如果他们在其他建筑物或城市中怎么办? 好几个选项可能会发生:
- 他们从不向您报告错误,而是继续尝试使用该程序,但最终他们厌倦了遇到相同的错误并责怪您,即使他们实际上没有做任何事情来给您纠正错误的机会。
- 他们会向您发送电子邮件或给您打电话,这可能是对话的一个示例:
- 用户/客户端:“嘿,开发人员,我们出错了”。
- 开发人员:“好的,您能告诉我错误代码是什么吗?”
- 用户/客户端:“我认为它以6或7开头”
- 开发商:“嗯。 好吧,你当时在做什么?”
- 用户/客户端:“我正在使用该工具”
- 开发人员“是的,但是您使用的是哪个屏幕或表格?”
- 用户/客户端:“带有大文本框的详细信息!”
- 开发人员:“好吧,在发生错误之前您做了什么?”
- 用户/客户端:“我正在浏览互联网”
- 开发人员:“我的意思是在应用程序中”
- 用户/客户:“哦,我想我正在更新客户记录”
- (很少)他们会截取屏幕截图,并写出详细的错误报告以说明他们在做什么,并包括有关错误号,错误描述以及之前可能在做什么的相关详细信息。
现在想象一下,如果每个用户都选择了选项3,那将是多么美好。但是,等等,如果我们可以帮助将普通用户转变为那些超级用户呢? 好消息是,现在您可以! 使用此免费软件,您现在可以显示一个漂亮的错误表单,并自动生成详细而有用的错误报告,包括所有打开的表单和应用程序的屏幕截图。
表格范例这是呈现给用户的表格。 当然,您可以对其进行修改以使其外观令人满意。
Error ID:F9AE94266E3943DBB1D664959A33868F
==== Error Message as presented to user ====
Error 91 has occurred in procedure [cmdCauseError_Click] in module [TSC_ErrRep_frm_Test_ErrorReportTool]
Object variable or With block variable not set
This error was raised in order to test the Error report functionality
==== Error Number ====
91
==== Error Line (0 if N/A) ====
==== Error Description ====
Object variable or With block variable not set
==== Error in Module ====
TSC_ErrRep_frm_Test_ErrorReportTool
==== Error in Procedure ====
cmdCauseError_Click
==== Session Information ====
==== Application Information ====
Name : TSC_ErrorReporter – BETA.mdb
Path : C:\Users\Documents\Applications\ErrorReport\TSC_ErrorReporter – BETA.mdb
Active Form : TSC_ErrRep_frm_Test_ErrorReportTool
Active Control : cmdCauseError
Parent Form(if any) : TSC_ErrRep_frm_Test_ErrorReportTool
Active Datasheet : N/A
Active Report : N/A
Open forms : TSC_ErrRep_frm_Test_ErrorReportTool
==== Access Info ====
Version : 14.0
Build : 6024
Fileformat : 10
DB Version : 4.0
==== Time of Error ====
15-03-2013 15:01:55
==== Windows User Name ====
aec
==== Active Form ====
TSC_ErrRep_frm_Test_ErrorReportTool
==== Active Control ====
cmdCauseError
==== Active Control Parent Form ====
TSC_ErrRep_frm_Test_ErrorReportTool
==== Active Data Sheet ====
N/A
==== Active Report ====
N/A
==== All Open Forms ====
TSC_ErrRep_frm_Test
==== Application Version ====
1.0
==== TheSmileyCoders Crash Reporter Version Info ====
1.0
==== Application Version ====
1.0
==== Minutes application has been running ====
157
==== Hours since last Windows reboot ====
7
它还能做什么?
所有错误信息也存储在表中。 该表可以是本地表或网络表
(如果已联网,请将dbOpenTable切换为dbOpenDynaset ) 。 错误报告当然是抗错误的,因此即使网络上没有可用的连接,报告器也将继续并将所有信息存储到基于文本的日志文件中,该文件可与屏幕截图一起通过电子邮件发送给您! 电子邮件选项TheSmileyCoders Crash Reporter设置为使用Outlook或CDO(与Gmail一起使用)。 要使用内置的CDO,您需要具有一个可以用于此目的的Gmail帐户设置,但是,如果您在CDO方面经验丰富,则应该可以将Crash Reporter设置为使用其他电子邮件帐户。 屏幕截图和错误日志会自动添加。
听起来很贵!不会,我选择根据Creative Commons 3.0许可完全免费提供此工具。 有关更多详细信息,请参见
http://creativecommons.org/licenses/by/3.0/ 。 这意味着您可以在应用程序中使用,更改,复制,重新分发并包括此代码,前提是您要包含每个模块中指定的属性详细信息。这是为什么? 好吧,也许我可以以一些不错的钱出售该工具,但是事实是我想把一些东西还给Access社区,这有助于我学习和发展到可以编写这样的应用程序的地步,也是因为我宁愿看到我的辛勤工作得到充分利用,而且因为我在营销方面并不大。 但是,嘿,当第一个错误报告打入您的邮箱时,如果您发现我的Crash Reporter有用,为什么不对我的Crash Reporter发表感谢信息呢?
博客 ? 这些评论对我来说是真正的回报。 设置和使用有关设置信息,您可以观看以下YouTube视频和/或继续阅读:
在开始使用Crash Reporter之前,您需要修改TSC_ErrRep_Main模块中找到的以下设置。 我已经突出显示了使用Outlook作为电子邮件客户端时需要设置的区域。
‘***************************************************************************************
‘ – Err reporter settings
‘***************************************************************************************
‘Place YOUR email here, the email which the reports should be sent to
Public Const gReportErrorToEmail As String = “YourEmail@SomeWhere.com”
‘Place the name of your application in here. It will be used in various message boxes and captions
Public Const gAppName As String = “TheSmileyCoders Report Tool”
‘Place the name of your company, or your own name here
Public Const gDeveloperName As String = “TheSmileyCoder”
‘Choose whether to use Outlook or CDO for mail
Public Const gUseOutlook As Boolean = True
‘Place details on the Gmail account for which to use CDO to send error message
Public Const gSendUserName As String = “”
Public Const gSendPassword As String = “”
‘Set whether or not to take a screenshot, and whether to include it per default
Public Const gTakeScreenshot As Boolean = True
Public Const gDefaultSubmitScreenshot As Boolean = True
‘Whether or not to dim the background as the submit error form is opened
Public Const gDimBackground As Boolean = True ‘Default is true
‘Version of Error report tool in use
Public Const gErrorReportToolVersion As String = “1.0″
If you want to use CDO instead, so you don’t have to rely on the user having outlook installed, you can modify the following settings:
‘Choose whether to use Outlook or CDO for mail
Public Const gUseOutlook As Boolean = False
‘Place details on the gmail account for which to use CDO to send error msg
Public Const gSendUserName As String = “YourExtraEmail@gmail.com”
Public Const gSendPassword As String = “YourPassword“
我建议不要使用自己的gmail,而应专门为此创建一个Gmail帐户。
现在有了适当的设置,您需要将示例数据库中的所有对象导入到应用程序中。 唯一不需要的对象是测试表单。 导入后,首先通过在VBA编辑器中选择“调试”->“编译”来检查它在您的环境中是否可以正常编译。 然后,您需要查看错误处理过程,并对其进行修改以使用错误报告工具。 现在,如果您已经有错误处理代码,它可能看起来像这样:
Private Sub YourCode()
On Error goto ErrHandler
'Some code
ExitSub:
Exit Sub
ErrHandler:
Msgbox Err.Number & " - " & err.Description
Resume ExitSub
End Sub
现在,您可以使用错误报告器,而不是显示错误的普通旧消息框。
只需将MsgBox行替换为:
TSCs_ReportUnexpectedError "Name of your procedure", "Name of module or form", "Custom info"
该工具将处理其余工作,包括截屏,准备错误报告以及打开错误报告表单。
摘要
在这篇文章中,我介绍了我的新的Crash Reporter。 有了它,当您的软件中发生错误/错误时,您可以轻松地获得更详细和有用的信息,并且向用户展示的外观更好看的自定义窗体,而不是普通的旧Windows消息框。
该下载内容带有测试表格,因此您可以立即开始尝试Crash Reporter!
下载 TheSmileyCoders Crash Reporter版本1.0的 已知问题如果您在访问应用程序中使用选项卡式表单,那么Crash Reporter有时只会截取最顶层(可见/活动)表单的屏幕截图。
我听说有报道说它目前无法在Windows 8上运行,但是我自己无法访问Windows 8,因此无法对其进行测试。
From: https://bytes.com/topic/access/insights/948550-access-crash-reporter-error-mailer