繁体   English   中英

如何对COM组件进行故障排除?

[英]How do I troubleshoot a COM component?

对于这个问题的模糊性,我深表歉意。

在将应用程序迁移到新服务器环境的过程中,公开了该应用程序API的COM组件(.dll)文件已停止工作。

有什么办法可以对COM组件进行故障排除? COM组件是否有记录故障的标准方法(Windows事件查看器中没有事件)? 我可以以任何方式“检查”组件吗?

我已经使用regsvr32.exe成功注册了该组件(除了创建某些Windows注册设置外,我不知道它的实际作用)。

马丁

此故障排除形式分为两部分。

首先从SYS内部使用procmon。 SYS内部信息这显示了试图打开COM服务器的进程类似strace的行为。

查看失败的函数调用。

接下来,我将尝试直接在调试器中加载com控件,看看那里是否有任何故障

procmon的结果将显示注册表位置和文件位置,这是加载com对象的关键。

失败可能是:

  1. 为一个用户而不是所有用户安装。 这将找不到命名对象
  2. 错误的架构。 如果prog.exe转到64位,它将无法加载32位com DLL
  3. 缺少依赖项。 其他DLL可能无法卸载-这些将显示在procmon跟踪中
  4. 配置数据。 如果com DLL需要进一步的配置,那么它将在procmon事件或调试器错误中显示

您可以在调试器中加载任何DLL。 调试符号使它变得更容易,但是我们正在尝试找出错误,调用中的异常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM