【问题标题】:0x0eedfade kernelbase.dll faulting module in d7 windows service0x0eedfade kernelbase.dll d7 windows 服务中的故障模块
【发布时间】:2011-11-16 08:46:46
【问题描述】:

我在 D7 中编写了一个 Windows 服务。直到今天它工作得很好 不想被发射。

在事件日志中我得到错误:

错误应用程序名称:XServ12.exe,版本:0.0.0.0,时间戳:0x2a425e19 错误模块名称:KERNELBASE.dll,版本:6.1.7600.16385,时间戳:0x4a5bdbdf 异常代码:0x0eedfade 故障偏移量:0x0000b727 错误进程ID:0xbb4 错误应用程序启动时间:0x01cca43b2aee203a

我在某处读到这可能是单元初始化部分的问题。 好吧,我已经从项目中删除了几乎所有单元,并留下了:Sysutils、CLasses、Dialogs。当 Dialogs.pas 单元存在时,我删除它时仍然出现错误,程序成功进入项目 dpr 部分的结尾。

此外,即使我拥有所有这 3 个单元并且只需手动运行 exe,它也可以正常启动。仅当我尝试从系统服务运行服务时出现错误...

如果我重新启动计算机,一切正常。 ...

有什么想法吗?

【问题讨论】:

  • 您需要掌握堆栈跟踪以找出进行此调用的原因。使用调试器或 madExcept。

标签: delphi


【解决方案1】:

0x0eedfade 可能是在 Delphi 进程之外传播的 unhandled Delphi exception。 如果问题仅在 Dialogs 单元中链接时存在,则它的初始化或它所依赖的任何单元的初始化可能会引发一个未处理的异常并从您的 Delphi 进程中逃脱。

这可能与服务在隔离会话中运行(如this document 中所述)并且不再有权访问 Windows UI 子系统(工作站、桌面、窗口)这一事实有关。换句话说,忘记interactive services

【讨论】:

  • 为了进一步澄清这一点,忘记Dialogs 单位,因为它无论如何都不能使用 - 交互式服务已成为不可能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 2017-10-20
  • 2010-10-20
  • 1970-01-01
  • 2018-09-14
相关资源
最近更新 更多