我们在 Windows 2008 R2 上有一个 Citrix XenApp 6.5 场,为我们的最终用户提供应用程序。最近我们发现,如果后台处理程序服务挂起,则该应用程序不再为登录的新用户启动,因为该应用程序在启动时会查询后台处理程序服务。用户每天都会使用此应用程序进行打印。
我认为打印机驱动程序存在问题,导致后台处理程序服务挂起,但我们无法可靠地重现该问题。
如果我的打印机驱动程序确实有问题,我该如何隔离并识别它?如果不是打印机驱动程序,我该如何识别导致后台处理程序挂起的原因?
任何帮助都值得感激。谢谢。
答案1
另一种可能导致崩溃或挂起的情况是
调试诊断工具 https://www.microsoft.com/en-us/download/details.aspx?id=49924
选择您要监视的内容,在本例中为假脱机程序服务,并让它创建完整的手或崩溃哑。
您应该能够找到导致问题的驱动程序/dll,然后如前所述,隔离该驱动程序或最好尝试找到您可以使用的替代品。
答案2
尝试解决CTX136332:XenApp/终端服务器环境的打印建议(存档这里。
特别是以下步骤:
完成以下步骤来修复该问题:
- 联系打印机驱动程序制造商,验证他们是否知道该问题并获取更新或推荐的驱动程序。
使用Citrix 打印侦探列出所有驱动程序,然后使用视图中列出的驱动程序开始检查Non-Native/Non-Citrix Drivers Only
。
使用 Citrix 通用驱动程序。
如果使用 Windows Server 2008 R2,请隔离打印机驱动程序。
[...]
您也可以尝试压力打印机该文章中提到的工具。
答案3
通常,您将能够在事件查看器中找到如下所示的 AppCrash 事件:
Log Name: Application
Source: Application Error
Event ID: 1000
...
Faulting application name: spoolsv.exe, version: 6.1.7601.17777, time stamp: 0x4f35fc1d
Faulting module name: RPCRT4.dll, version: 6.1.7601.18205, time stamp: 0x51dba4dc
...
然后,您可以尝试确定故障模块 (RPCRT4.dll) 与哪个打印驱动程序相关,我不知道有任何简单的方法可以做到这一点,但您可以从“打印管理”>“驱动程序”>“属性”查看与打印驱动程序关联的 DLL,如下所示。(DLL 名称通常也会提供有关制造商的线索,例如 HPxxxx.DLL 可能是 HP,CNxxxx.DLL 可能是 Canon 驱动程序,等等)。