Windows – Delphi App与程序通信偶尔崩溃 – 供应商责备我的Del
发布时间:2020-12-14 02:13:49 所属栏目:Windows 来源:网络整理
导读:我写了一个Delphi DLL,它通过COM与第三方程序通信.一些用户报告第三方程序偶尔崩溃.其他以相同方式使用该软件的人从未经历过崩溃.发生此崩溃时,第三方程序似乎在我的DLL应用程序中变得不可用. 供应商发誓这是Delphi DLL如何编码的问题,虽然他们没有看到源代
我写了一个Delphi DLL,它通过COM与第三方程序通信.一些用户报告第三方程序偶尔崩溃.其他以相同方式使用该软件的人从未经历过崩溃.发生此崩溃时,第三方程序似乎在我的DLL应用程序中变得不可用.
供应商发誓这是Delphi DLL如何编码的问题,虽然他们没有看到源代码,也无法分辨DLL正在做什么导致崩溃,但他们知道这是“某事”. 除了我认为第三方程序不应该由于我的DLL中的一些小问题而崩溃这一事实,让我们假设我的DLL中有一些东西需要修复. 如何确定我的应用程序可能导致此问题?有没有人有通过COM与这样的超敏感程序进行通信的经验?是否有一些常见的事情可能会导致第三方程序崩溃? 解决方法
>让客户满意.
>不要以为它不是你的dll,它可能是.即使“其他人以相同的方式使用软件从未经历过崩溃”,也可能是因为使用不同的数据,它会做出不同的事情…… >我建议您在“特殊”诊断版本中设置日志文件. >记录所有内容,参数,异常以及您要经历的步骤.甚至可能是每个功能的开始和结束,以及其他每一行. 这是它看起来的样子…… Loaded DLL Started MyFunction1 with parameters: 1,4,hello 1 2 ... 500 Ended MyFunction1 为了那个,我设置了一些功能(在他们自己的单元中): // opens a text file (fixed name),and appends to it. function InitializeLog; // closes the file function CloseLog; //add a log line. function Log(message:string='',startNewFunction:boolean:False); 你会这样称呼它: function MyFunction1(Integer,Integer,String); begin try Log('Loaded DLL'); //use inttostr and do some string concats to get the params Log('Started MyFunction1 with parameters: 1,hello',true); //Then every other line: Log; //this would increment a global variable FuncLine:Integer //and write it to the file. except On E:Exception (Log('***'+E.Message)); end; end; 这样的东西应该有{$DEFINE}来启用这些日志记录功能,以启用/禁用诊断日志记录. This could also be useful. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在基于Windows Nano Server的容器中运行nginx?
- Windows cmd echo/pipe最后会增加额外的空间 – 如何修剪它
- windows – FOSSIL(版本控制系统)不添加.htaccess文件.为什
- windows – 在C#中创建Cron作业
- windows-7 – 登台新计算机的最佳方式 – 以没有密码的用户
- 在Windows上可靠地复制文件,无论ACL
- 停止屏幕刷新 – INT 0x10(视频服务) – 在装配中
- 使用ShowDialog()阻止所有其他Windows的WPF模态窗口
- 框架 – Sync Framework:如何指定多个表的同步顺序?
- 我的Windows应用程序是否需要使用受信任的证书进行签名?
推荐文章
站长推荐
- active-directory – 如何还原Windows Server 20
- Qt – 不要将主版本号附加到可执行文件/库名称的
- Windows环境中的文件路径不区分大小写?
- Win10 x64 安装Eplan P8 2.7 小结
- windows-server-2008 – 具有3台服务器的高可用性
- windows-7 – 在Alfresco中使用“在Microsoft Of
- 我应该将敏感数据传递给.NET中的Process.Start调
- windows-xp – 通过无线适配器连接两台笔记本电脑
- 在Windows 8.1上为所有用户安装cordova / phoneg
- windows-xp – 如何创建自己的Windows XP键盘映射
热点阅读