当我使用 Cygwin X11 ssh 时,为什么 Vista 会抱怨死进程?如何让它关闭?
-
09-06-2019 - |
题
当我使用 ssh X11 转发登录远程计算机时,Vista 会弹出一个框,抱怨进程意外终止。一旦我关闭盒子,一切都很好。所以我真的不在乎某些进程是否死亡。我怎样才能让 Vista 闭嘴呢?
具体来说,消息内容如下:
sh.exe has stopped working
所以死掉的不是ssh本身,而是一些子进程。
问题详细信息文本框显示:
Problem signature:
Problem Event Name: APPCRASH
Application Name: sh.exe
Application Version: 0.0.0.0
Application Timestamp: 48a031a1
Fault Module Name: comctl32.dll_unloaded
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4549bcb0
Exception Code: c0000005
Exception Offset: 73dc5b17
OS Version: 6.0.6000.2.0.0.768.3
Locale ID: 1033
Additional Information 1: fc4d
Additional Information 2: d203a7335117760e7b4d2cf9dc2925f9
Additional Information 3: 1bc1
Additional Information 4: 7bc0b00964c4a1bd48f87b2415df3372
Read our privacy statement:
http://go.microsoft.com/fwlink/?linkid=50163&clcid=0x0409
我注意到当我使用 -Y 在 Vista 下的 X 终端中启用 X11 转发的选项。
弹出的对话框不会自动获得焦点,因此按 Enter 键没有任何作用。我必须等待该框出现,用鼠标抓住它,然后将其关闭。即使强迫错误获得焦点也将是朝着正确方向迈出的一步。
根据 DrPizza 我已经发送了 电子邮件 到 Cygwin 邮件列表。精简后的主题行代表了我多次尝试绕过过于激进的垃圾邮件过滤器,并强调了对 StackOverflow 之类的东西的需求。
解决方案 5
好吧,我不知道最初的问题是什么,但是当我最近更新 Cygwin 时,错误消息不再弹出。
我猜是这样的 重新定位 是必要的。
其他提示
问题是,该进程不是直接死掉了,而是意外死掉了。听起来 Vista 指出了您的 SSH 客户端中存在一个错误。
我知道这对于 cygwin 用户来说是异端邪说,但你可以使用 油灰 反而。
在这种情况下出乎意料意味着什么?这是否意味着它已核心转储或只是以非零值退出?
这意味着它因未处理的异常而死亡,即它崩溃了。
故障模块名称:comctl32.dll_unloaded异常代码:c0000005
某些东西触发了 comctl32.dll 的加载,但后来被卸载。
c0000005 表示“访问冲突”。可能有人尝试调用已卸载的 dll 中的函数。
我同意 cygwin 评论员之一的观点,即这可能是某些防病毒程序或“桌面增强”软件中的错误。显卡公司也喜欢将他们的东西注入到每个流程中。然而,使用 comctl32.dll 来完成某些事情很容易,但却没有意识到。
尝试从 Microsoft 下载并安装 WinDbg。 http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
将其设置为默认 JIT 调试器“windbg.exe -I”。下次发生这种情况时,您应该会弹出漂亮的调试器窗口。输入“kv100”以获取堆栈跟踪。查看调用路径中列出的 dll,很可能其中一个就是罪魁祸首。
如果您看到不是来自 Microsoft 或 Cygwin 的 dll,请卸载该应用程序并查看问题是否消失。否则,Cygwin 列表可能对堆栈跟踪感兴趣。