情景:的WinForms桌面应用程序,NET 2.0福昕PDF SDK - AccessViolationException在PrintWithDialog
我们有我们的用户群的0.01%谁是无法打印,我们通过福昕PDF SDK的ActiveX呈现文档的问题v5.0.1
当用户单击“打印”按钮时,我们在查看器控件实例上调用PrintWithDialog()方法。此时,将引发访问冲突异常,然后应用程序挂起。打印对话框不显示。没有进一步的用户输入(鼠标,键盘)使其恢复生命,并且该进程必须通过任务管理器来终止。
的异常堆栈跟踪是:
AccessViolationException - Attempted to read or write protected memory. This is
often an indication that other memory is corrupt.
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at FoxitPDFSDKStdLib._DFoxitPDFSDK.PrintWithDialog()
at AxFoxitPDFSDKStdLib.AxFoxitPDFSDK.PrintWithDialog()
at MyCode.PDFToolBarButtonClick(Object sender, EventArgs e)
我们无法重现的问题,福昕似乎不能够做任何事情来帮助我们,因为我们不能给他们再现了一个项目问题。
我怀疑是指向Windows 7和打印设置的组策略控制。我们已经取得了一些成功,要求受影响的用户删除并重新安装默认打印机,但是问题在一两天后会重新出现。一个站点的策略设置控制谁可以用彩色打印,并以不同的方式安装打印机(同一物理设备)。
有没有人有任何Windows 7的经验或组策略设置,影响打印?
编辑:这只是FoxIt受此问题影响。其他一切 - Acrobat,Word,记事本等打印没有问题。
您是否在此尝试过此修补程序? “当您运行基于.NET Framework 2.0的应用程序时,会发生System.AccessViolationException异常......”http://support.microsoft.com/kb/975954 – 2015-02-26 09:34:21
@Paul Zahra。谢谢。我们会放弃它。 – 2015-02-26 14:56:58
如果您进行崩溃转储,您可能会获得更多信息,但如果问题出在FoxIt的dll上,则需要由他们来阅读转储并修复它。也就是说,如果您发现某个驱动程序或其他东西有些奇怪,您可以将其追踪到特定的dll。 http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-lab-1-hang.aspx – JMarsch 2015-02-27 20:17:13