Вопрос

I've a c# application, I'm doing a final test of it.

But now, a function which has worked everytimes until now doesn't work anymore!

I've a Button, when I click on it I want to browse files, I see the "Open file" windows, and an half second after, I got an uncaught visual studio error:

vshost32.exe has stopped working:

I'm sorry but the error is happening on a french localized computer:

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

My code is:

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

it crash just when I'm in the ofd.ShowDialog.

Is this a code related issue?

Do you have any idea about how to debug? Or even how to debug this??

When activating the "unmanaged code to be debug", I got this:

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

The stack trace if it could help:

>   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()    

Some things I've tried:

An important new point: It seems that the error doesn't happen when I run it without visual studio(which seems to be logic)

Important point bis: It seems the same code is working in visual studio of another computer(which is exactly the same and issued of the same image of windows

I tried to remove all files and do a GetLatest, but still doesn't work

Это было полезно?

Решение 3

I just re-installed the image of this computer that have I done after the installation and now it works :/. Very strange

Другие советы

I was having the same problem and my solution was to "Enable native code debugging" in "Project properties/Debug/Enable Debuggers" section.

I thought, that I should be able to debug the issue, but instead the error was gone.

An possible this is a bug linked to Wuala Overlay Shell Extension. Uninstalling help me.

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

I had a very similar issue that drove me crazy for a few days. It ended up being Lenovo Password Manager that came pre-installed on my laptop. It overlays forms with password boxes in with a remember password banner. Since uninstalling I've not encountered the issue again.

My suggestion to anyone coming across this is to check if you have any software that does any overlaying at all and check to see if that is the cause.

I remember seeing something akin to this on a computer with German locale, with our French application. I can't remember how we solved it, but the similarity points me towards checking locales... Invalid handle though usually means the object you call is already destroyed, though I really can't guess which object, as ofd must still be valid at this point.

I have had this problem with "VS Express 2013 for Windows Desktop" in a VB project. In the menu DEBUG -> Exceptions... there has been an item checked. After a "Reset All" in that dialog (unchecking all) the problem disappeared once, but came again the next time. There was a 0x4000001f, so I found Program and debugger quit without indication of problem. The given tip was helping again only onec: Project -> Properties -> Debug and turn off "Enable the Visual Studio hosting process". Later the problem occurred again!

I had the same problem My exception code is c0020001. I solved this issue by resetting all exceptions. For that go to {Debug --> Exceptions} and there you can reset all exceptions.

Solution for me was adding new debug method. Instead of AnyCPU I used x86 debugging (next to "Start" button above click Configuration Manager -> Platform -> New -> x86 ). In meantime I have also enabled ClickOnce security settings in Project Properities, to "This is full trust app" but don't know the impact. Hope this will help somone.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top