将 vim 与 pathogen 和 rails.vim 一起使用时,有时会导致 vim 崩溃。这是我的崩溃控制台日志文件。我怎样才能防止这种情况发生?
Process: vim [16620]
Path: /usr/bin/vim
Identifier: vim
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: zsh [961]
Date/Time: 2011-08-31 08:20:25.727 +0800
OS Version: Mac OS X 10.6.7 (10J869)
Report Version: 6
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: 0x000000000000000d, 0x0000000000000000
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libSystem.B.dylib 0x00007fff832af5d6 __kill + 10
1 vim 0x0000000100118943 0x100000000 + 1149251
2 libSystem.B.dylib 0x00007fff832c166a _sigtramp + 26
3 vim 0x00000001000249a2 0x100000000 + 149922
4 vim 0x00000001000249ef 0x100000000 + 149999
5 vim 0x00000001000249ef 0x100000000 + 149999
6 vim 0x0000000100024a1c 0x100000000 + 150044
7 vim 0x00000001000249ef 0x100000000 + 149999
8 vim 0x000000010002554c 0x100000000 + 152908
9 vim 0x0000000100118b75 0x100000000 + 1149813
10 vim 0x000000010010c138 0x100000000 + 1098040
11 vim 0x0000000100069900 0x100000000 + 432384
12 vim 0x000000010006cf45 0x100000000 + 446277
13 vim 0x000000010006d1a3 0x100000000 + 446883
14 vim 0x000000010006d5d6 0x100000000 + 447958
15 vim 0x00000001000a475c 0x100000000 + 673628
16 vim 0x0000000100075bb8 0x100000000 + 482232
17 vim 0x0000000100077e22 0x100000000 + 491042
18 vim 0x0000000100000978 0x100000000 + 2424
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000002 rcx: 0x00000001001cdbc8 rdx: 0x0000000000000000
rdi: 0x00000000000040ec rsi: 0x000000000000000b rbp: 0x00000001001cdbe0 rsp: 0x00000001001cdbc8
r8: 0x0000000000000000 r9: 0x00007fff7073fbc0 r10: 0x00007fff832b1552 r11: 0x0000000000000206
r12: 0x0000000000000029 r13: 0x000000000000007c r14: 0x000000000000007c r15: 0x0000000000000044
rip: 0x00007fff832af5d6 rfl: 0x0000000000000206 cr2: 0x0000000101185000
Binary Images:
0x100000000 - 0x100155fef +vim ??? (???) <F8247F1F-4D43-963A-D218-3D0E8ECFF899> /usr/bin/vim
0x7fff5fc00000 - 0x7fff5fc3bdef dyld 132.1 (???) <B536F2F1-9DF1-3B6C-1C2C-9075EA219A06> /usr/lib/dyld
0x7fff83260000 - 0x7fff83421fff libSystem.B.dylib 125.2.10 (compatibility 1.0.0) <9BAEB2F2-B485-6349-E1AB-637FE12EE770> /usr/lib/libSystem.B.dylib
0x7fff85845000 - 0x7fff85849ff7 libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <95718673-FEEE-B6ED-B127-BCDBDB60D4E5> /usr/lib/system/libmathCommon.A.dylib
0x7fff85dcb000 - 0x7fff85e0afef libncurses.5.4.dylib 5.4.0 (compatibility 5.4.0) <E1F34D53-3D62-78C0-CAD8-8AD22C110A9E> /usr/lib/libncurses.5.4.dylib
0x7fff87ca5000 - 0x7fff87d9dff7 libiconv.2.dylib 7.0.0 (compatibility 7.0.0) <E0683DF0-8180-58A2-BA49-511111D4F36E> /usr/lib/libiconv.2.dylib
0x7fffffe00000 - 0x7fffffe01fff libSystem.B.dylib ??? (???) <9BAEB2F2-B485-6349-E1AB-637FE12EE770> /usr/lib/libSystem.B.dylib
最佳答案
要求 brew 编译 macvim 并设置调试标志,然后在调试器下运行它,这样当它崩溃时,您可以要求调试器打印堆栈跟踪,以便您可以看到哪个源代码行正在尝试访问已释放的内存区域这会导致 SIGSEGV 异常。
如果你设法做到了那么远,那么看看你是否可以修复错误并向 vim-dev 列表提交补丁,并在一周内感觉良好 :) 祝你好运!
关于ruby-on-rails - vim 捕捉到致命信号 SEGV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7251347/