I have a shell extension that I build in release mode, I also generate debug symbols and .pdb files. I attach the visual studio program that builds the context menu extension .dll file to the running explorer.exe process, I can see in the output window while the program is attached explorer process events, like the following:
'explorer.exe': Unloaded 'C:\Windows\System32\mydocs.dll'
'explorer.exe': Unloaded 'C:\Windows\System32\sendmail.dll'
'explorer.exe': Unloaded 'C:\Windows\System32\zipfldr.dll'
The thread 'Win32 Thread' (0x16d8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1650) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1070) has exited with code 0 (0x0).
But it never reaches the breakpoints that I have set in the function Initialize (form the class that inherits and implements the IshellExtInit class). When I do a right click on a file, the right click menu initialises with the custom context menu and performs desired actions, but no breakpoint hitting involved!!
I want to know how can I debug because I’m trying to register the context menu for the recycle bin and it doesn’t work, I want to see what’s happening with the code.
The code for registration with the Recycle Bin can be found on this post:
recycle bin registration
Try manually registering your debug build using regsvr32, e.g.
You may have to kill Explorer to get it to recognize the registry changes.
If that doesn’t work you could try throwing up a message box in your extension to see if that’ll stop Explorer long enough for you to debug into your extension.