1.首先,正常情况下,js断点是有效的。
2.这个问题,与VS的调试设置无关,与IE的选项中的“是否禁用调试”也无关。也就是说,无论你怎么修改这些东西,VS能调试时就一定能下断点,出了这个问题时,无论你改不改这些参数,断点也一定无效。
3.我目前遇到过一次,由于修改了很多东西,导致目前还没能确认到底是哪个修改操作导致的。
4.应急措施:用debugger指令来代替断点。注意了,debugger是用来代替断点功能的。因此,使用了这个指令,无需再下断点。VS2012在遇到它时,就会像该行有断点一样地中断。因此,调试完后,记得删除这个标志。
5.VS2012的js调试,是不需要设置任何东西的。VS2012的调试选项不需要设置,IE的选项也不需要设置。网上很多帖子说要设置,那些是针对老版本的。对于VS2012,还是那句话,无论你改不改设置,没遇到这个问题,你就一定能调试js,遇到了这个问题,断点就一定会失效。
6.debugger也无效了?好吧,我用了debugger大约半个月后,发现它也无效了。最后,重装win7和vs2012后,js调试功能又可以用了。装完win7后有一个发现,那就是windows 7的系统补丁,里面有ie9与ie10的升级补丁。如果你没注意,全部安装了,那么默认的ie8,最后会升级到ie10。我现在的做法是,对于补丁中,与浏览器相关的,只安装与ie8有关的。ie9与ie10的升级补丁,不安装,把它们隐藏掉就行。
在Google Chrome浏览器中,按F12进入的是本地调试界面。在F12调试界面中修改的JS代码,是修改的“本地缓存文件”中的代码,而不是存在于服务器上的网页的真正代码,网页的真正代码在浏览器中是无法修改的。
Chrome开发者调试工具(F12),可以在调试界面修改代码(包括JS、HTML和CSS)模拟本地运行,具体步骤大致如下:
在需要修改的代码段上方合理代码行设置断点;
按F5键刷新网页,并等待网页执行到断点;
修改JS代码或其它需要修改的代码,修改后选择单步执行或继续执行即可。
通常,调试中修改无效,是因为网页加载完成,其实就是运行已经完成了,修改代码不会再次执行。