gVIM на Windows 7 виходить з ладу через COMCTL32.dll


1

Мій gVIM 7.4 (а також 7.3 до цього) продовжує збій, коли я працюю над файлами .py (інші файли не викликають проблеми). Аварії з'являються періодично, але непередбачувано - принаймні, мені здається, що це не є чітко визначеною причиною.

Звіт про помилку дає мені це (помилую німецьку):

Problemsignatur:
  Problemereignisname:  APPCRASH
  Anwendungsname:   gvim.exe
  Anwendungsversion:    7.4.280.0
  Anwendungszeitstempel:    5206345a
  Fehlermodulname:  COMCTL32.dll
  Fehlermodulversion:   6.10.7601.18837
  Fehlermodulzeitstempel:   553a8345
  Ausnahmecode: c0000005
  Ausnahmeoffset:   000abd26
  Betriebsystemversion: 6.1.7601.2.1.0.256.48
  Gebietsschema-ID: 1031
  Zusatzinformation 1:  0a9e
  Zusatzinformation 2:  0a9e372d3b4ad19135b953a78882e789
  Zusatzinformation 3:  0a9e
  Zusatzinformation 4:  0a9e372d3b4ad19135b953a78882e789

За допомогою Менеджера подій я можу визначити винуватця:

C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d\COMCTL32.dll

На моїй машині, здається, існує цілий ряд COMCTL32.dlls. Я перевірив систему , використовуючи sfc /scannowі , DISM /Online /Cleanup-Image /Scanhealthале не було виявлено ніяких проблем. Інші програми з графічним інтерфейсом не виявляють жодних проблем.

Судячи з того, що це тільки py-файли, він повинен бути одним з моїх Python Plugins, що викликає це, але всі вони є стабільними версіями і не використовують, щоб викликати проблеми. Так що це повинна бути моя система (Windows 7 Professional з усіма поточними оновленнями, 64 біт).

Будь-яка ідея про те, як знайти причину проблеми або виправити файл DLL?


1
Існує логічна система , з якою Windows знайде і знайде необхідну dll, яку використовує програма. Програма може обходити цей порядок, конкретно вказуючи, що він хоче мати певний статичний файл. Отже, визначте, якою має бути поточна дата, розмір і версія DLL, знайдіть файл, який відповідає цій інформації, і розмістіть його в каталозі програми. Надзвичайно дивно, що програма буде використовувати файл, розташований у каталозі WinSxS. Це не каталог, який зазвичай використовується.
Ramhound

"це повинен бути один з моїх Python Plugins" - Ви повинні усунути цю можливість. Вимкніть плагіни, якщо збій відбудеться, знайте, що це не ваші плагіни. Б'юся об заклад , парі, так як додаток використовує вихідний файл з WinSxS каталогу (я знаю його не пошкоджений , тому що ті команди , які бігли не вказує на проблему) Б'юся об заклад , що проблема викликана плагіном
Ramhound

@Ramhound: Я впевнений, що це один з плагінів python, оскільки при редагуванні інших файлів не виникає проблем. Плагіни в vim завантажуються залежно від типу файлу. Дякуємо за пораду з dll. Я спробував розмістити один у правильному режі, подивимося, що станеться. Проте сторінка, на яку ви посилалися, сказала, що завантажені DLL будуть завантажені на перше місце, тому я вважаю, що це не допоможе.
Zakum

Посилання позначає порядок використання Windows для пошуку DLL. Я вказую, що, тому що ви вказали, що ваша система має багато копій, і якщо тільки копія, яка була використана, була пошкоджена, то dll не винен. Отже, причина, з якої я сказав вам знайти гарну копію, і розмістити її в першому місці (каталог з самою програмою), щоб усунути цю можливість.
Ramhound

"Якщо бібліотека DLL з тим же ім'ям модуля вже завантажена в пам'ять, система перевіряє лише перенаправлення і маніфест, перш ніж вирішувати на завантажену DLL, незалежно від того, в якому каталозі він знаходиться. Система не шукає DLL." - Я інтерпретую це таким чином, що не виконується пошук, якщо COMCTL32.dll вже завантажено в пам'ять. У цьому випадку копія в каталозі додатка не допоможе, чи не так?)
Zakum
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.