为什么在IE8下VS debuger会不起作用呢?
如果你尝试使用IE8来Debug你的程序,通常会发现,VS Debuger会停止或直接忽略你设的断点!
为什么会这样呢?
好吧!IE8 有一个叫做散偶合 Loosely-Coupled Internet Explorer (LCIE) 的默认设置,这个设置使IE可以运行在多个进程上。
http://www.microsoft.com/windows/internet-explorer/beta/readiness/developers-existing.aspx#lcie
老版本的VS Debuger会不清楚到底要附加到哪个进程才是正确的。
要解决这个问题,你必须禁用LCIE的进程增长功能,以下为具体步骤:
1)打开注册表 RegEdit
2)导航到 HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
3)双击TabProcGrowth 键
4)将TabProcGrowth 的Value data 设置为0
5)如果没有TabProcGrowth,则新建一个名称为TabProcGrowth的 DWORD类,数据值设置为0.
如果你在Vista 或者 newer 上碰到同样的问题,你必须将protected mode 设置为Off。
OK。你可以调试你的程序了。
为什么在IE8下VS debuger会不起作用呢?
如果你尝试使用IE8来Debug你的程序,通常会发现,VS Debuger会停止或直接忽略你设的断点!
为什么会这样呢?
好吧!IE8 有一个叫做散偶合 Loosely-Coupled Internet Explorer (LCIE) 的默认设置,这个设置使IE可以运行在多个进程上。
http://www.microsoft.com/windows/internet-explorer/beta/readiness/developers-existing.aspx#lcie
老版本的VS Debuger会不清楚到底要附加到哪个进程才是正确的。
要解决这个问题,你必须禁用LCIE的进程增长功能,以下为具体步骤:
1)打开注册表 RegEdit
2)导航到 HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main
3)双击TabProcGrowth 键
4)将TabProcGrowth 的Value data 设置为0
5)如果没有TabProcGrowth,则新建一个名称为TabProcGrowth的 DWORD类,数据值设置为0.
如果你在Vista 或者 newer 上碰到同样的问题,你必须将protected mode 设置为Off。
OK。你可以调试你的程序了。