当我使用 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 列表可能对堆栈跟踪感兴趣。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top