在 kernelbase.dll 中随机崩溃 .net 应用程序,在 Windows 7 64 位上以 32 位运行
我们有一位客户在 W7 64 位计算机上运行我们的 100% .NET 产品。该应用程序明确以 x86 为目标,因此以 32 位模式运行。在客户的计算机上,我们在 kernelbase.dll 中遇到随机崩溃。有时,即使只是将鼠标移到应用程序上也会崩溃。在其他 W7、64 位机器上运行正常。
关于如何解决这个问题有任何线索吗?一定是崩溃的本机代码,但我们这个应用程序中没有。那么也许打印机驱动程序会加载到进程中?
有任何建议欢迎提出, 问候, 巴特
We have a customer running our 100% .NET product on a W7 64 bit machine. The app explicitely targets x86 so runs in 32 bit mode. On the customer's machine we get random crashes in kernelbase.dll. Sometimes it crashes even by just moving the mouse over the app. On other W7, 64 bit machines it runs ok.
Any clues on how to approach this? Must be native code that is crashing but we have none in this app. So maybe a printerdriver that gets loaded into the process?
Any suggestions are welcomed,
Regards,
Bart
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
他们可能有一些用户输入管理软件,例如热键或热按钮。如果存在诸如鼠标悬停等事件的编程挂钩,则它可能会在应用程序上执行非法操作。
在干净的环境中运行,甚至检查是否有恶意软件。在内部运行 W7 64 位并向您的客户证明它可以在干净的环境中运行,并且他们必须检查其他应用程序。
They might have some user input management software like hotkeys or hotbuttons. If there is a programmed hook to things like mouseover, etc, it could be performing an illegal operation on the app.
Run in a clean environment, and even check for malware. Run a W7 64bit in house and certify to your customer that it works in a clean environment and they must check their other applications.
该问题是应用程序中的一个错误,仅当用户桌面设置为 125% 文本大小时才会导致堆栈溢出。我们确实在应用程序中使用内置的崩溃记录器(BugTrap http://www. codeproject.com/KB/applications/BugTrap.aspx)通常工作得很好,但堆栈溢出无法被捕获,因此缺乏任何有用的报告/转储。感谢您的支持!巴特·范·哈夫
The issue was a bug in the application that caused a stack overflow only when a user's desktop was set to 125% textsize. We do use a built-in crash recorder in our application (BugTrap http://www.codeproject.com/KB/applications/BugTrap.aspx) that usually works very good but stack overflows can't be trapped hence the lack of any usefull reports/dumps. Thanks for your support! Bart van Haaff
呵呵。是 WPF 吗?
因为如果是的话,我会把钱直接花在坏显卡或视频驱动程序上。至少可以说,我在 XP 上使用 nVidia 驱动程序时遇到了很多问题......
Huh. Is it WPF?
Because if it is, I would put my money squarely on a bad video card or video driver. I've had a lot of problems with nVidia's drivers on XP, to say the least...
确切地知道崩溃是什么可能会有所帮助。查看如何捕获所有 .NET 异常如何捕获所有非托管崩溃错误。您需要使用 Windows 符号 来调试 您将在未处理的异常过滤器中生成的小型转储。
It would probably help to know exactly what the crash is. Take a look at how to capture all .NET exceptions and how to capture all unmanaged crashing errors. You'll want to use the Windows symbols to debug the minidump you'll generate in your unhandled exception filters.