2011-01-20 15 views
16

GNU araçlarının Cygwin'de Windows Seven'de nasıl çalıştığından oldukça memnunum. GNU/Linux'u kullanmanın daha kolay olduğunu düşünüyorum, ancak şirketim Programmer programlama ortamı için Windows Seven'i kullanma politikasına sahip. Yani çözüm Cygwin'dir. Ve programlama amacım için yoğun bir şekilde Emacs kullanıyorum.Cygwin'deki Windows 7'de çalışan Emacs neden her zaman Crash Dökümü yaratıyor?

Ancak, Cygwin'de çalışan Emacs'ın konsolda yazdırılan tutarlı (phrew) bir kilitlenme dökümü oluşturduğu anlaşılıyor. C-l kullanarak yenilemeliydim, ama bu beni meraklandırıyor: sorun ne?

Burada aynı sorunu olan var mı? Ve çözüm nedir? Bu benim org-googlecl koşma örneğim.

Süreç googlecl listem


* 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 

bitmiş Ve hep emacs'ı-X11.exe.stackdump oluşturun. Emacs'ten başka bir süreç çalıştırdığımda, yani Emacs'ten bir toplu dosya çalıştırıyorsam her zaman olur.

Eğer

cevap

2

Ben Windows 7

üzerinde cygwin ile bu Benim çözüm konsol emacs çalıştıran bu aynı problem vardı yerli GNU Emacs Windows istemcisini kurmaktı.

Sen https://github.com/tildedave/init.el/blob/master/init.el benim emacs.d/init.el görebilirsiniz: Burada parçası emin alakalı olup, Windows 7 Emacs cygwin ile iyi oynadığını -

(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))) 

Hafiflik için in- konsol düzenleme Ben çekirdek dökümü olmayan nano kullanın.

+0

Evet, gnu eamcs windows yerel istemci kullanarak en iyi çözüm olduğunu düşünüyorum. Onu alacağım. Nokta emaclarınız için teşekkürler. çok yararlı! – swdev

+0

Phew .. teşekkür ederim. Sadece işleri halletmeyi bitirdim. İyi çalışıyor! Emacs içinde bash kabuk, oldukça iyi (Ben sadece özgür imleç hareketi sevmiyorum). Şimdi sadece tekrar siyah yapmak istiyorum. :) Ama bence bu değişime tabi ... – swdev

+0

Bu cevabı kabul ediyorum, çünkü bu soru benim için bir çözümdür, ancak neyse ki şu anda Cygwin Ported Emacs'i kullanmıyorum. Yerel win32 emacs kullanıyorum, ancak bir MS DOS İstemi uygulaması – swdev

2

Ben sorunda yardıma olamaz ederiz, ancak bir Linux VM Emacs çalışan bakmak olabilir olası bir alternatif olarak Windows kutuyu ev sahipliği yaptı. Sonuçta Cygwin'ın Emacs kullanarak büyük oranda aynıdır, böylece ekran olarak Cygwin'ın X.org sunucusu kullanabilirsiniz.

Daha birkaç uğraştığından demektir

fakat I find it a good solution ve umarım çökmeleri önlemek olacaktır.

benim VM barındırmak için VirtualBox kullanıyorum. http://ftp.gnu.org/gnu/emacs/windows/ ve benim kabuk olarak Cygwin'ın bash.exe ayarlayın:

+0

Bu kesinlikle benim için yeni! Ama şirketim windows kullanıyor, bu yüzden linux yüklemem gerekiyor mu? Teşekkürler. – swdev

+2

VirtualBox (ve diğer benzer uygulamalar), ana makine işletim sistemindeki Sanal Makineleri (VM) çalıştırmanıza izin verir. Böylece Windows içinde çalışan bir Linux VM'ye sahip olabilirsiniz. Linux'u kurmak zorunda kalırsın, ama gerçek makineye değil, sanal makineye kurardın. VM'nizde çalışan 'uzak' uygulamalar için bir ekran olarak yerel bir X sunucusu sağlayarak, uygulamalarınızın yerel (Windows) pencereleri olabilir. – phils

+0

Merhaba, Cygwin üzerinde çok fazla segfaults birçoğunun beni çıkardığı için bu çözüme geçmek için hazırım. VM'leri daha önce kurdum, ama ben şeyleri görüntülemek için Cygwin'in X.org sunucusunu kullanmadım, bunu yapabilmeniz için yararlı bulduğunuz herhangi bir talimat var mı? –

6

Win7 yığının parçaları üzerine işlemleri iptal eder. cygwin yürütülebilir güven, aşağıdaki gibi seçerek hariç tutabilirsiniz: 1.7.9- için Cygwin benim sürümünü yükseltirken

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 
+0

Wow olarak çalıştırıyorum, sadece bunu biliyorum. Denememe izin ver! – swdev

+0

Güzel, şu ana kadar iyi çalışıyor. Teşekkürler dostum! – swdev

+0

Bunun için çok teşekkür ederim! Sonsuza dek bu problemi çözmeye çalışıyorum ve bu sadece işe yarayan şeydi! – Steph

10

Geçenlerde bu konuda koştu:

Computer -> Properties 
     -> Advanced System Settings 
     -> Performance 
     -> Settings... 
     -> Data Execution Prevention 

aşağıdaki dışlanan 1. pserice's solution umut verici görünüyordu ama benim için işe yaramadı. benim için çalıştı çözüm rebaseall çalıştırmak oldu:
  1. Kapat TÜM Cygwin süreçler
  2. Başlat> Çalıştır> Cmd (kullanım Process Explorer hiçbir şey cygwin1.dll içinde yüklü olduğundan emin olmak için).Bundan sonra
  3. rebaseall -v

  • PATH=.
  • ash
  • cd \cygwin\bin
  • exe ​​, emacs bir alt işlemi çalıştırmak için çalıştı her zaman kilitlenen durdu.

    +0

    Ben de cygwin 1.7.9-1 var ve birkaç dosya son güncellemesini aldıktan sonra (Ben esas olarak mintty almak istedim) Ben konsolda birçok STATUS_ACCESS_VIOLATION mesaj alıyorum gibi, herhangi bir dosyayı emacs yükleyemiyorum emacs içinde vfork mesajı. rebaseall -v yardımcı olmuyor. Makinem onu ​​kullanmamaya ayarlandığı için, DEP ile ilgili öneri de aynı değildir (Windows 7 x64). Başka fikri olan var mı? Tamamen kayıptayım. Teşekkürler! – Eric

    +0

    Tamam, sanırım başka birisinin bu sorunu olması durumunda çözdüm. McAfee Virüs Taramasını kapatmam gerekiyordu. Bunu yaptım ve cygwin ortamımı yeniden başlattığımda, emacs çalıştırabiliyordum ve yine dosyaları arabelleklere yükleyebiliyordum. – Eric

    İlgili konular