Microsoft KB Archive/138942

= How to debug a Windows Shell Extension using Visual C++ =

Article ID: 138942

Article Last Modified on 6/3/2005

-

APPLIES TO


 * Microsoft Visual C++ 2.0 Professional Edition
 * Microsoft Visual C++ 2.1
 * Microsoft Visual C++ 2.2
 * Microsoft Visual C++ 4.0 Standard Edition
 * Microsoft Visual C++ 4.1 Subscription
 * Microsoft Visual C++ 4.2 Enterprise Edition
 * Microsoft Visual C++ 4.2 Professional Edition
 * Microsoft Visual C++ 5.0 Enterprise Edition
 * Microsoft Visual C++ 5.0 Professional Edition
 * Microsoft Visual C++ 6.0 Enterprise Edition
 * Microsoft Visual C++ 6.0 Professional Edition
 * Microsoft Visual C++ 6.0 Standard Edition

-



This article was previously published under Q138942



SUMMARY
To debug a Windows Shell Extension using Microsoft Visual C++, you must specify the Windows shell as the "Executable For Debug Session" in Project Settings (Build Settings if using Microsoft Developer Studio 4.0), and re- start it by using the Visual C++ debugger.



Steps to Debug a Windows Shell Extension

 * 1) Bring the Shell Extension up in the Visual C++ environment, and set the shell as the "Executable For Debug Session." To specify the shell, click the Debug tab after clicking Build Settings in the Project menu, and enter \Explorer.exe.
 * 2) On the Start menu on the Windows Taskbar, click Shut Down. While holding down the CTRL+ALT+SHIFT key combination, click the No button in the Shut Down Windows dialog box. This will terminate the shell.

NOTE: this only shuts down the shell. Any other applications that are running will continue to run after the shell exits.
 * 1) Start the Visual C++ debugger, and debug the Shell Extension.

It may seem confusing when you start the Explorer under the debugger, and you don't see what you might normally think of as the Explorer. This is due to the fact that the Taskbar and Start button are part of the Explorer program. To debug a Context Menu for a file, once the Explorer is running under the debugger, it will still be necessary to start an instance of the Windows Explorer from the Start menu.

Windows 95 NOTE: Once you finish debugging, double-click anywhere on the desktop to restart the shell. This will bring up a Task dialog box. On the File menu, click Run, and then enter the path to Explorer.exe. Explorer.exe and "the shell" are the same thing. Windows NT 4.0 NOTE: Once you finish debugging, press CTRL+ALT+DEL to bring up the Windows NT task manager. On the File menu, click New Task (Run...), and then enter the path to Explorer.exe.

