0

当我使用 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 之类的东西的需求。

4

5 回答 5

1

问题是,进程不仅死了,而且意外地死了。听起来您的 SSH 客户端中存在 Vista 指出的错误。

于 2008-08-29T21:21:09.610 回答
0

我知道这对于 cygwin 用户来说是异端邪说,但你可以改用PuTTY

于 2008-08-29T21:44:36.513 回答
0

好吧,我不知道最初的问题是什么,但是当我最近更新 Cygwin 时,错误消息停止弹出。

我猜它重新定基是必要的。

于 2008-08-29T21:59:20.270 回答
0

在这种情况下出乎意料地意味着什么?这是否意味着它核心转储或只是退出非零?

这意味着它因未处理的异常而死亡,即它崩溃了。

于 2008-08-29T22:09:19.713 回答
0

故障模块名称: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 列表可能对堆栈跟踪感兴趣。

于 2009-07-29T22:45:05.337 回答