Debug explorer.



  • We all know about the stability of Microsoft software, or rather, the lack of stability. Even so, I felt confortable about organising my music, and stumbled upon a folder with .WMA music files, that I thougt I'de like to hear. And what better way to play back all these tracks than the "Play All" link in the left side of my explorer window?

    Maybe I should have thought it through before clicking. As a developer, I should know better, right? But click the link I did, and even though I'm usually up for a coding challenge, I decided that this was not the day, I wanted to debug explorer.exe.

    Debug Explorer



  • That's not a WTF, that's Windows

     

     

    =D 



  • It's annoying, sure, and definitely a WTF.

    But Explorer crashing with an unhandled exception is nothing, compared to Explorer being flagged as a virus by Windows Data Execution Prevention.

    WTF indeed.



  • nobody: That's not a WTF.  Explorer doesn't run on .NET... that is a .NET crash dialog.  Obviously it is a .NET coded DLL that is loaded into Explorer that has crashed.  I don't think Windows Media Player has any .NET code in it... I thought it was just Win32 code.  Maybe there is some .NET pieces to it in the shell extensions, who knows.

    Of course I've seen native Win32 code crashes from Explorer too.  It happens, usually again from having lots of DLLs loaded (shell extensions such as: column handlers, right click context menus, thumbnail generators, shell folders, you name it).  This effect is commonly known as Windows Rot, which also encompasses malware running in memory and useless startup programs being allowed to pile up.

    fred: I've seen that before.  It can happen if your memory is bad or if it's installed wrong... you might end up with random memory errors, and perchance one might cause DEP to kick in on a compromised windows binary.  Luckily I was able to switch the order of my sticks and keep my full 1.5gb, and all my memory is working fine now.



  • [quote user="The MAZZTer"]

    nobody: That's not a WTF.  Explorer doesn't run on .NET... that is a .NET crash dialog.  Obviously it is a .NET coded DLL that is loaded into Explorer that has crashed.  I don't think Windows Media Player has any .NET code in it... I thought it was just Win32 code.  Maybe there is some .NET pieces to it in the shell extensions, who knows.

    [/quote]

    Not necessarily, it is possible to get that for plain win32 apps.  You can get there if your win32 app causes an unhandled exception and you get the good old "%app_name% has encountered a problem and needs to close . . . Please tell Microsoft about this problem . . . blah blah blah"  and you get the option to Debug and to Send/Don't Send an error report to MS.  If you click on Debug, you can get the displayed window if you have Visual Studio or another debugger installed.  It may also be dependent on having XP - I can't remember.  Debugging isn't that helpful in this case unless you know assembly.
     



  • [quote user="The MAZZTer"]nobody: That's not a WTF.  Explorer doesn't run on .NET... that is a .NET crash dialog.  Obviously it is a .NET coded DLL that is loaded into Explorer that has crashed.  I don't think Windows Media Player has any .NET code in it... I thought it was just Win32 code.  Maybe there is some .NET pieces to it in the shell extensions, who knows.[/quote]

     Eh?  Visual Studio 2005 registers itself as a debugger in Windows.  As with any other debugger, it'll get shown as a possible debugger when there's any unhandled exception, .Net or no.   If there's no pdb or source code available, you'll simply end up looking at an assembly listing.  Good times.


Log in to reply