2013-12-17 45 views
3

我试图在Visual Studio中创建ATL项目一个BHO 2010年我在这篇文章下面: http://msdn.microsoft.com/en-us/library/bb250489.aspx无法调试C++ BHO DLL与Visual Studio 2010中

当我到了点“拿一个试驾“ - 我按F5,该项目编译成功,但我得到一个错误弹出:”无法启动程序“...... HelloWorld.dll”

我想这是在这里描述的解决方案:Unable to start program ATL Project C++

我在“Project - Prope”中设置了“C:\ Program Files(x86)\ Internet Explorer \ iexplore.exe” rties - 配置属性 - 调试 - 命令“。我按F5,我得到一个警告:

“?调试为‘IEXPLORE.EXE’无法找到或不匹配的信息无法找到或打开PDB文件要继续调试

做”

我回答“YES”,IE启动,我的所有断点都被禁用,调试器退出。如果我尝试附加到IE的运行实例,则调试器不会退出,但是我的所有断点都将被禁用。

什么是调试C++ BHO DLL与Visual Studio的正确方法2010年我的IE版本是11

+0

请确保你使用本机代码调试器 –

+0

附加我刚刚将我的IE从11降级到8,现在一切正常。 但是,关于如何使调试器与IE 11一起工作的问题仍然存在...... –

+0

http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected -mode-network-security-addons-cookies-metro-desktop.aspx –

回答

1

检查这个REG关键HKEY_CURRENT_USER \软件\微软\的Internet Explorer \ MAIN \ TabProcGrowth,如果不是这样,则将其值设置为零,这将只使Internet Explorer运行一个进程(而不是每个选项卡)。 也许这是您尝试调试时遇到的问题...

2

使用Process Explorer from Sysinternals,您可以找到承载页面的iexplore.exe进程的PID,因为Process Explorer能够显示每个“选项卡“附加到IE进程,当你在进程上拖动鼠标。

enter image description here

一旦PID识别,使用附加到进程。编辑:如果你想从开始(SetSite等)之前调试你的BHO,有一个丑陋的黑客:在DllMain(ATTACH_PROCESS)中使用MessageBox,并使其显示当前的PID)。附加到进程,然后关闭消息框。

相关问题