为什么在Windows7上运行Cygwin中的Emacs总是创建崩溃转储?

为什么在Windows7上运行Cygwin中的Emacs总是创建崩溃转储?,emacs,cygwin,Emacs,Cygwin,我对GNU工具如何在Windows7上的Cygwin中运行感到非常满意。我认为仅仅使用GNU/Linux更容易,但我的公司在这里有使用Windows7作为程序员编程环境的政策。因此,解决方案是Cygwin。为了编程,我大量使用Emacs 但是,在Cygwin中运行的Emacs似乎创建了一个在控制台上打印的一致(phrew)崩溃转储。我不得不用C-l刷新它,但这让我想:到底是什么问题 这里有人有同样的问题吗?解决办法是什么。 这是我运行org googlecl的例子 处理googlecl列表已完成

我对GNU工具如何在Windows7上的Cygwin中运行感到非常满意。我认为仅仅使用GNU/Linux更容易,但我的公司在这里有使用Windows7作为程序员编程环境的政策。因此,解决方案是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中运行一个批处理文件,就会发生这种情况


谢谢你

我无法帮助解决这个具体问题,但是作为一个可能的替代方案,你可以看看在Windows机器上托管的Linux虚拟机中运行Emacs。您可以使用Cygwin的X.org服务器作为显示,因此最终结果与使用Cygwin的Emacs基本相同

这意味着要多跳几圈,但是,这将有望避免撞车


我正在使用VirtualBox来托管我的虚拟机。

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

我的解决方案是安装本机GNU Emacs Windows客户端:并将cygwin的bash.exe设置为我的shell

您可以在以下位置查看我的emacs.d/init.el:这里是确保Windows7emacs与cygwin配合良好的相关部分--


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

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

我最近在将Cygwin版本升级到1.7.9-1时遇到了这个问题。看起来很有前途,但对我来说不起作用。对我有效的解决方案是运行:

  • 关闭所有Cygwin进程(使用Process Explorer确保其中没有加载cygwin1.dll)
  • 开始>运行>Cmd.exe
  • cd\cygwin\bin
  • ash
  • PATH=。
  • rebaseal-v

  • 此后,emacs每次尝试运行子进程时都停止崩溃。

    是的,我认为使用gnu eamcs windows本机客户端是最好的解决方案。我要试一试。谢谢你的点emacs。非常有帮助!呸。。非常感谢。我刚把事情安排好。它工作得很好!emacs内部的bashshell非常好(我只是不喜欢自由光标移动)。现在我只想让它再次变黑。:)但我认为这可能会改变……我接受这个答案,因为这是我问题的解决方案,但幸运的是,目前我没有使用Cygwin移植的Emacs。我使用本机win32 emacs,但将其作为MS DOS提示符应用程序运行对我来说肯定是新鲜事!但是我的公司使用windows,这意味着我必须安装linux?感谢。VirtualBox(和其他类似的应用程序)允许您在主机操作系统中运行虚拟机(VM)。因此,您可以在Windows中运行Linux虚拟机。您确实需要安装Linux,但您需要将其安装在虚拟机上,而不是真正的机器上。然后,通过提供本地X服务器作为VM上运行的“远程”应用程序的显示,您的应用程序可以有本地(Windows)窗口。您好,我准备使用此解决方案,因为cygwin上太多的SegFault使我有些不喜欢它。我以前安装过VM,但我没有使用cygwin的X.org服务器来显示东西,您是否发现有任何有用的说明可以向我指出?我在链接的答案中谈到了X.org,所以我将向您介绍它。否则,我想到的唯一建议是确保通过使用足够少的来宾操作系统来节省主机的资源,特别是,这种方法绝对不需要来宾的GUI桌面环境。当时我正在使用“Ubuntu服务器”发行版。谢谢,你有什么解决方案吗?virtualbox共享文件夹对我来说都是755(因此,当我保存文件时,编辑会将文件更改为主机系统上的这些权限)哇,我知道这一点。让我试试!非常感谢你!我一直在谷歌上搜索,试图解决这个问题,这是唯一有效的方法!如果我已经选择了“仅为基本Windows程序和服务启用DEP”,那么这个解决方案应该与我无关(因此我的堆栈转储是由其他原因引起的),我是否正确地假设了这一点?我也有cygwin 1.7.9-1,并且在获得了两个文件的最新更新后(我主要想获得mintty)我无法在emacs中加载任何文件,因为我在控制台中收到许多状态访问违反消息,而在emacs中收到vWork消息。REBASEAL-v没有帮助。下面关于DEP的建议也不适用,因为我的机器设置为不使用它(Windows 7 x64)。有人有其他建议吗?我完全不知所措。谢谢好的,我想我解决了,以防其他人有这个问题。我必须关闭McAfee病毒扫描。一旦我这样做并重新启动cygwin环境,我就能够运行emacs并再次将文件加载到缓冲区中。
    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