ruby-on-rails - 使用ctrl-n自动补全单词时,Vim随机出现段错误

标签 ruby-on-rails macos vim crash segmentation-fault

我正在使用mac osx随附的系统vim(7.2)(当前为10.6.7)。我主要使用rails.vim进行Rails开发。

随机地,当我尝试使用ctrl-n vim自动补全单词时,segfault会退出。任何想法是什么原因造成的?或关于如何开始调查造成这种情况的任何想法?我无法使它可靠地崩溃,但是它经常出现。

这是Mac控制台应用程序中显示的内容的简短片段

Process:         vim [34386]
Path:            /usr/bin/vim
Identifier:      vim
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  zsh [34284]

Date/Time:       2011-08-28 15:22:56.168 +0800
OS Version:      Mac OS X 10.6.7 (10J869)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000100500000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Application Specific Information:
*** error for object 0x1004fa928: incorrect checksum for freed object - object was probably modified after being freed.


Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   libSystem.B.dylib               0x00007fff832af5d6 __kill + 10
1   vim                             0x0000000100119eb3 0x100000000 + 1154739
2   libSystem.B.dylib               0x00007fff832c166a _sigtramp + 26
3   libSystem.B.dylib               0x00007fff832af5d6 __kill + 10
4   libSystem.B.dylib               0x00007fff8334fcd6 abort + 83
5   libSystem.B.dylib               0x00007fff8333e90d szone_error + 519
6   libSystem.B.dylib               0x00007fff83265d2b tiny_malloc_from_free_list + 144
7   libSystem.B.dylib               0x00007fff83264fdd szone_malloc_should_clear + 242
8   libSystem.B.dylib               0x00007fff83264eaa malloc_zone_malloc + 82
9   libSystem.B.dylib               0x00007fff832631a8 malloc + 44
10  vim                             0x0000000100099826 0x100000000 + 628774

最佳答案

时间到

  • 收集系统信息
  • ldd $(which vim)
  • uname -a
  • 获取一个coredump(在Linux上,您可能需要执行ulimit -c unlimited)
  • 或者,在调试器中运行vim


      gdb $(which vim)
      (gdb) break main
      (gdb) run file1.txt
      (gdb) break abort
      (gdb) break assert
    

    (考虑其他要监视的东西)

    收到断点/信号时:
      (gdb) bt
      (gdb) info threads
      (gdb) thread apply all bt
    
      (gdb) bt full
      (gdb) thread apply all bt full
    

    将相关输出发送到vim错误列表(在vim中执行:he bugs以获取详细步骤)。

    Of course, the output of the stack traces will greatly improve once you install the debug symbols with the packages for vim (and it's dependencies). I don't know how to do that on Macs, sry

    关于ruby-on-rails - 使用ctrl-n自动补全单词时,Vim随机出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7220399/

    相关文章:

    Swift - 将字典保存到 NSUserDefaults 时 macOS 程序卡住

    mysql - 使用 MySQL 在 Apache2 中配置身份验证和授权

    vim - 在vim中突出显示行时隐藏拼写错误

    javascript - 在 javascript 中渲染 html.erb 模板

    ruby-on-rails - Rails 中的语句类过时了吗?

    ruby-on-rails - 如何在 .rb 文件中呈现邮件模板(无模板文件)

    Vim 命令中的反斜杠

    javascript - 未捕获的类型错误 : boolean is not a function on ajax call in fullcalendar

    xcode - 在 Xcode 中保存文件之前,如何让脚本自动运行?

    linux - 在 Vim 中从 DOS 到 Linux 的文本文档