首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试Windows 7中的shell扩展

调试Windows 7中的shell扩展
EN

Stack Overflow用户
提问于 2009-08-26 01:16:45
回答 5查看 5.5K关注 0票数 13

我正在尝试使用Visual C++ 2008在Windows7中调试外壳扩展(IContextMenu)。我已经在注册表中设置了DesktopProcess=1,并将主机应用程序设置为explorer.exe。但是当我启动调试器时,它会启动explorer.exe,然后与进程分离。未调用外壳扩展的DllMain。

在Windows XP + Visual C++ 2008中,在调试器中启动的具有完全相同设置的相同代码没有任何问题。

有没有想过如何在Win7中调试外壳扩展?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-10 15:06:24

尝试启动资源管理器,然后将调试器附加到它。

票数 8
EN

Stack Overflow用户

发布于 2012-06-07 15:25:50

我发现了一个很好的工作流程,我认为这是在开发shell扩展时快速迭代代码-构建-测试周期的最快方法。下面的代码可以在任何Windows版本上运行。

First prepare -将shell扩展项目的启动程序设置为c:\windows\explorer.exe,并将其设置为启动项目。

然后,当您想要调试您的shell扩展时,执行以下步骤:

  • 单击任务栏并按Alt-F4 -这将打开关闭对话框
  • 按Ctrl-Alt-Shift-Use此组合键将关闭资源管理器。
  • 使用Alt-Tab返回到Visual Studio并按F5 -资源管理器将在VS调试器已完成的情况下启动,只需停止调试器会话。这将终止已调试的资源管理器实例,并自动启动它的一个正常实例。这也将解锁外壳扩展DLL,以便您可以再次构建它。

Vista和7上的警告-确保在非管理员模式(非提升)下运行用于调试的Visual Studio,以便资源管理器以其通常的非提升模式启动。

票数 9
EN

Stack Overflow用户

发布于 2009-09-29 08:26:30

您可以尝试在代码中添加一个DebugBreak()调用。这应该会在调用时启动实时调试器,并让您了解正在发生的事情。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1331876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档