在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Exeption Dialog能截获运行时未处理的异常,并提供足够的调试信息(调用堆栈、进程列表等等)。用户只要点击一个按钮就可以把错误报告发送到我们设定的邮箱。毫不夸张的说,Exception Dialog能够帮助我们以最快的速度找到问题。 下面以Delphi 2007为例,看看怎么创建和使用Exception Dialog。 0. 下载并安装JEDI Code Library (JCL),可以同时支持Delphi的多个版本。 1. 打开项目后,依次点击New Items->Delphi Files->Jcl Exception Dialog for Delphi。 2. 打开向导,设置单元名称。(注意不要和Form name冲突) 3. 设置邮箱地址和主题 4. 单击Next设置更多选项或按Finish结束向导。 向导完成后会把窗体添加到当前项目中。我们可以打开窗体,把文字翻译成中文或其他语言。最大的妙处在于,我们不需要写一行初始化代码,就可以马上享受到它的好处。 看下面的演示程序: procedure TfrmMain.btnTestClick(Sender: TObject); begin DoSomething; end; procedure TfrmMain.DoSomething; begin raise Exception.Create('Oops...'); end; 点击一下Test按钮看看效果 是不是比Delphi默认的那个对话框好看多了?单击一下Details按钮,我们还能看到更详细的调试信息。 大家看到了吗?窗体里面不仅有当前系统的调用堆栈,还显示具体的单元名称和具体的行号。我们还会看到当前的系统环境,应用程序加载的模块及其版本,当前的活动控件等等。怎么样?很棒吧!其实Exception Dialog还可以自动把这些信息记录到一个错误日志文件里面。 为了更好的发挥Exception Dialog的功能,我们可以把整个程序流程放在try-except里面,看看下面的示例代码: begin try Application.Initialize; Application.MainFormOnTaskbar := True; // ... Application.Run; except Application.HandleException(nil); end; end; 最后我再补充一下,调用堆栈的详细信息需要打开项目的map file选项(Project Options->Linker->map file->Detailed)并把map文件和程序一起发布。(或者使用JCL的一个功能Projects->Insert JCL Debug data,并打开Project Options->Complier->USE Debug DCUs选项) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论