vshost32.exe перестал работать, когда я вызываю метод ShowDialog OpenFileDialog - PullRequest
14 голосов
/ 18 августа 2011

У меня есть приложение ac #, я делаю последний тест.

Но теперь функция, которая работала каждый раз до сих пор, больше не работает!

IКнопка, когда я нажимаю на нее, я хочу просмотреть файлы, я вижу окна «Открыть файл», и через полсекунды я получаю необработанную визуальную студийную ошибку:

vshost32.exe остановленработает:

Извините, но ошибка происходит на французском локализованном компьютере:

Signature du problème :
  Nom d’événement de problème:  APPCRASH
  Nom de l’application: TOM.vshost.exe
  Version de l’application: 10.0.30319.1
  Horodatage de l’application:  4ba2084b
  Nom du module par défaut: ntdll.dll
  Version du module par défaut: 6.1.7600.16695
  Horodateur du module par défaut:  4cc7ab44
  Code de l’exception:  c0000008
  Décalage de l’exception:  0004631f
  Version du système:   6.1.7600.2.0.0.256.48
  Identificateur de paramètres régionaux:   4108
  Information supplémentaire n° 1:  ffb6
  Information supplémentaire n° 2:  ffb61531feaa1f65f528a2694a510c22
  Information supplémentaire n° 3:  b220
  Information supplémentaire n° 4:  b2205da238309b0a025a25162a3a18f3

Мой код:

OpenFileDialog ofd = new OpenFileDialog {Filter = Filters};
if (ofd.ShowDialog() != true) {
    return;
}

сбой только когда яЯ нахожусь в ofd.ShowDialog.

Это проблема, связанная с кодом?

Есть ли у вас какие-либо идеи о том, как отлаживать?Или даже как отладить это ??

При активации «неуправляемого кода для отладки» я получил следующее:

"First-chance exception at 0x77cd631f in TOM.exe: 0xC0000008: An invalid handle was specified."

Трассировка стека, если это может помочь:

>   ntdll.dll!77cd631f()    
    [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] 
    ntdll.dll!77d1792d()    
    ntdll.dll!77ce343b()    
    ntdll.dll!77ce2d80()    
    ole32.dll!776b4102()    
    ole32.dll!776b411e()    
    ole32.dll!7767e505()    
    SearchFolder.dll!1046b49d()     
    SearchFolder.dll!1046b267()     
    shell32.dll!76281cb7()  
    shell32.dll!761701b6()  
    shell32.dll!761991fd()  
    shell32.dll!761d61ee()  
    shell32.dll!761d6159()  
    System.ni.dll!524c4ed4()    
    shlwapi.dll!77b6b6cf()  
    ntdll.dll!77cbb428()    
    ntdll.dll!77cbe6f9()    
    kernel32.dll!77c01114()     
    ntdll.dll!77ceb429()    
    ntdll.dll!77ceb3fc()    

Некоторые вещи, которые я пробовал:

Важный новый момент : Кажется, что ошибка не возникает, когда я запускаю ее без Visual Studio (который, кажется,логика)

Важный момент bis : Похоже, тот же код работает в Visual Studio другого компьютера (который точно такой же и выпущен из того же изображения Windows

Я пытался удалить все файлы и сделать GetLatest, но все равно не работает

Ответы [ 8 ]

19 голосов
/ 13 марта 2013

У меня возникла та же проблема, и я решил «Включить отладку собственного кода» в разделе «Свойства проекта / Отладка / Включить отладчики».

Я думал, что смогу решить проблему, но вместо этого ошибка исчезла.

4 голосов
/ 31 октября 2013

Возможно, это ошибка, связанная с расширением Wuala Overlay Shell. Деинсталляция помоги мне.

http://social.msdn.microsoft.com/Forums/de-DE/a073bbb8-5586-4f75-970f-858d90e069ef/openfiledialogsavefiledialog-crashen?forum=wpfde

2 голосов
/ 30 мая 2014

У меня была очень похожая проблема, которая сводила меня с ума на несколько дней. В итоге это был Lenovo Password Manager, который был предварительно установлен на моем ноутбуке. Он перекрывает формы с полями для паролей с помощью баннера запоминания пароля. После удаления я больше не сталкивался с проблемой.

Я предлагаю всем, кто сталкивается с этим, проверить, есть ли у вас какое-либо программное обеспечение, которое вообще выполняет наложение, и проверить, является ли это причиной.

2 голосов
/ 06 сентября 2011

Я просто переустановил образ этого компьютера, который сделал после установки, и теперь он работает: /.Очень странно

1 голос
/ 05 марта 2015

У меня была эта проблема с "VS Express 2013 для Windows Desktop" в проекте VB.В меню DEBUG -> Exceptions ... был проверен пункт.После «Сбросить все» в этом диалоговом окне (снятие отметки со всех) проблема исчезла один раз, но возникла снова в следующий раз.Был 0x4000001f, поэтому я обнаружил, что Программа и отладчик вышли без указания проблемы .Данный совет снова помог только одному: Project -> Properties -> Debug и отключить off «Включить процесс размещения Visual Studio».Позже проблема возникла снова!

1 голос
/ 18 августа 2011

Я помню, что видел нечто похожее на это на компьютере с немецким языком, с нашим французским приложением. Я не могу вспомнить, как мы решили это, но сходство указывает мне на проверку локалей ... Неверный дескриптор обычно означает, что вызываемый вами объект уже уничтожен, хотя я действительно не могу угадать, какой объект, так как ofd все еще должен быть действительным на этом этапе.

0 голосов
/ 03 марта 2017

У меня была такая же проблема. Мой код исключения - c0020001.Я решил эту проблему, сбросив все исключения.Для этого перейдите в {Debug -> Exceptions} и там вы можете сбросить все исключения.

0 голосов
/ 15 августа 2016

Решением для меня было добавление нового метода отладки. Вместо AnyCPU я использовал отладку x86 (рядом с кнопкой «Пуск» выше нажмите Диспетчер конфигурации -> Платформа -> Создать -> x86 ) Тем временем я также включил Настройки безопасности ClickOnce в свойствах проекта, чтобы "Это приложение с полным доверием" , но я не знаю, как это повлияет. Надеюсь, это поможет Сомоне.

...