我正在尝试使用Visual C++ 2008在Windows7中调试外壳扩展(IContextMenu)。我已经在注册表中设置了DesktopProcess=1,并将主机应用程序设置为explorer.exe。但是当我启动调试器时,它会启动explorer.exe,然后与进程分离。未调用外壳扩展的DllMain。
在Windows XP + Visual C++ 2008中,在调试器中启动的具有完全相同设置的相同代码没有任何问题。
有没有想过如何在Win7中调试外壳扩展?
发布于 2009-09-10 15:06:24
尝试启动资源管理器,然后将调试器附加到它。
发布于 2012-06-07 15:25:50
我发现了一个很好的工作流程,我认为这是在开发shell扩展时快速迭代代码-构建-测试周期的最快方法。下面的代码可以在任何Windows版本上运行。
First prepare -将shell扩展项目的启动程序设置为c:\windows\explorer.exe,并将其设置为启动项目。
然后,当您想要调试您的shell扩展时,执行以下步骤:
Vista和7上的警告-确保在非管理员模式(非提升)下运行用于调试的Visual Studio,以便资源管理器以其通常的非提升模式启动。
发布于 2009-09-29 08:26:30
您可以尝试在代码中添加一个DebugBreak()调用。这应该会在调用时启动实时调试器,并让您了解正在发生的事情。
https://stackoverflow.com/questions/1331876
复制相似问题