Vshost32.exe перестает работать, когда я вызываю метод ShowDialog OpenFileDialog

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

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

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

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;
}

он сбой, только когда я нахожусь в ind.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()    

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

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

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

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

Ответы

Ответ 1

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

Ответ 2

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

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

Ответ 8

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