我对GNU工具在我的Windows 7上的Cygwin中的运行方式相当满意。我认为只使用GNU/Linux更容易,但我的公司在这里的政策是使用Windows Seven作为程序员编程环境。因此,解决方案是Cygwin。我在编程时大量使用Emacs。
但是,在Cygwin中运行的Emacs似乎会创建一个一致的(phrew)崩溃转储,并在控制台上打印出来。我不得不使用C-l刷新它,但这让我想知道:到底是什么问题?
这里有没有人有同样的问题?解决方案是什么?这是我运行org-googlecl的示例。
进程googlecl-列表已完成
* 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
并且它总是创建emacs-X11.exe.stackdump。当我从emacs中运行另一个进程时,也就是说,如果我从Emacs中运行批处理文件,总是会发生这种情况。
谢谢
发布于 2011-01-20 23:13:12
我在Windows7上通过cygwin运行控制台emacs时也遇到过同样的问题。
我的解决方案是安装原生GNU Emacs Windows客户端:http://ftp.gnu.org/gnu/emacs/windows/,并将cygwin的bash.exe设置为我的外壳。
你可以在https://github.com/tildedave/init.el/blob/master/init.el上看到我的emacs.d/init.el :这是确保Windows7Emacs与cygwin兼容的相关部分--
(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)))
对于轻量级的控制台内编辑,我使用nano,它不会核心转储。
发布于 2011-02-07 01:33:19
Win7中止覆盖部分堆栈的进程。如果您信任cygwin可执行文件,则可以有选择地将其排除,如下所示:
Computer -> Properties
-> Advanced System Settings
-> Performance
-> Settings...
-> Data Execution Prevention
我排除了以下内容:
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
发布于 2011-01-20 19:57:08
具体问题我无能为力,但作为一种可能的替代方案,您可以考虑在Windows机器上托管的Linux VM中运行Emacs。您可以使用Cygwin的X.org服务器作为显示,因此最终结果与使用Cygwin的Emacs基本相同。
这意味着要跳过更多的障碍,但I find it a good solution,它将有望避免崩溃。
我正在使用VirtualBox托管我的VM。
https://stackoverflow.com/questions/4746187
复制相似问题