为什么我的Emacs在Cygwin上运行Windows 7,总是创建Crash Dump?

swd*_*dev 16 emacs cygwin

我非常满意GNU工具如何在Windows 7上的Cygwin中运行.我认为使用GNU/Linux更容易,但我公司的政策是将Windows 7用于程序员编程环境.所以,解决方案是Cygwin.我为了编程目的而密集使用Emacs.

但是,似乎在Cygwin中运行的Emacs创建了一个打印在控制台上的一致(phrew)崩溃转储.我不得不使用Cl刷新它,但这让我想知道:问题是什么?

这里有人有同样的问题吗?什么是解决方案.这是我运行org-googlecl的例子.

处理googlecl-list完成


*  List of blogs with  in the *  List of blogs with  in the title                       :gblog:

12719501 [main] emacs-X11 1168 exception::handle: Exception: STATUS_ACCESS_VIOLATION
                                                                                    12720164 [main] emacs-X11 1168 open_stackdumpfile: Dumping stack trace to emacs-X11.exe.stackdump
                      12889237 [main] emacs-X11 764 exception::handle: Exception: STATUS_ACCESS_VIOLATION
                                                                                                         12889852 [main] emacs-X11 764 open_stackdumpfile: Dumping stack trace to emacs-X11.exe.stackdump
Run Code Online (Sandbox Code Playgroud)

它总是创建emacs-X11.exe.stackdump.当我从emacs中运行另一个进程时,总是会发生这种情况,即如果我从Emacs运行批处理文件.

谢谢

Ada*_*eld 10

我最近在将我的Cygwin版本升级到1.7.9-1时遇到了这个问题. pserice的解决方案看起来很有前景,但对我没有用.对我有用的解决方案是运行rebaseall:

  1. 关闭所有Cygwin进程(使用Process Explorer确保没有加载cygwin1.dll)
  2. 开始>运行> Cmd.exe
  3. cd \cygwin\bin
  4. ash
  5. PATH=.
  6. rebaseall -v

之后,emacs每次尝试运行子进程时都会停止崩溃.


小智 6

Win7中止覆盖部分堆栈的进程.如果您信任cygwin可执行文件,则可以按如下方式选择性地排除它们:

Computer -> Properties
         -> Advanced System Settings
         -> Performance
         -> Settings...
         -> Data Execution Prevention
Run Code Online (Sandbox Code Playgroud)

我排除了以下内容:

C:\cygwin\bin\bash.exe
C:\cygwin\bin\emacs.exe
C:\cygwin\bin\emacs-nox.exe
C:\cygwin\bin\emacs-X11.exe
C:\cygwin\bin\startxwin.exe
Run Code Online (Sandbox Code Playgroud)


til*_*ave 2

我在 Windows 7 上通过 cygwin 运行控制台 emacs 时遇到了同样的问题。

我的解决方案是安装本机 GNU Emacs Windows 客户端:http://ftp.gnu.org/gnu/emacs/windows/并将 cygwin 的 bash.exe 设置为我的 shell。

您可以在https://github.com/tildedave/init.el/blob/master/init.el上查看我的 emacs.d/init.el :这是与确保 Windows 7 Emacs 正常运行相关的部分赛格温——

(if is-windows 
    (progn 
      (add-hook 'comint-output-filter-functions
                'shell-strip-ctrl-m nil t)
      (add-hook 'comint-output-filter-functions
                'comint-watch-for-password-prompt nil t)
      (setq explicit-shell-file-name "bash.exe")
      (setq shell-file-name explicit-shell-file-name)))
Run Code Online (Sandbox Code Playgroud)

对于轻量级控制台内编辑,我使用 nano,它不会核心转储。