我正在调试 12K 行 JavaScript。当然,它是由离岸团队编写的。现在,我需要找出当我与 UI 交互时调用了哪个 js 函数。无论如何,我是否可以自动跳转到正在执行的功能?
我真的不能设置断点,因为我不知道在哪里设置断点?
应用程序仅在 IE7 上运行!
我正在调试 12K 行 JavaScript。当然,它是由离岸团队编写的。现在,我需要找出当我与 UI 交互时调用了哪个 js 函数。无论如何,我是否可以自动跳转到正在执行的功能?
我真的不能设置断点,因为我不知道在哪里设置断点?
应用程序仅在 IE7 上运行!
将 Visual Studio 附加到 IE7 后,可以使用Break All选项终止任何正在运行的脚本。如果没有脚本正在运行,它将在脚本执行时中断,例如,如果您将鼠标悬停在具有onmouseover
侦听器的元素上。
如果您正在寻找一段特定的代码,这可能会有些麻烦。我认为除了跟踪代码直到找到相关的部分之外,真的没有办法解决这个问题。
例如,如果这是您单击按钮时发生的错误,请查看该按钮的 HTML 代码。如果它有onclick
处理程序,则搜索该函数并在那里设置断点,或者将单词添加debugger;
到函数的顶部。如果没有onclick
处理程序,请在 Javascript 代码中搜索ID
按钮的 并查看是否有任何侦听器绑定到该 DOM 元素。
12,000 行 Javascript 代码确实没有理由阻碍您查看正在发生的事情的努力。查找问题的重现,然后使用 Find 在您的 Javascript 文件中找到相关代码。另外,我意识到您的网站可能无法在 Firefox 或 Chrome 中运行,但它可能在 IE8 中运行,因为它相当向后兼容。IE8 具有更好的调试器,并且能够探索各种 DOM 元素,这些元素可以用来跟踪哪些代码在哪里运行。
希望这可以帮助!
您可以将 VS 2008 附加到诸如 Internet Explorer 之类的脚本宿主进程。请注意,“脚本主机”特定于 Windows 脚本平台,其他浏览器不使用该平台。
Internet Explorer 应配置为“允许脚本调试”,以便 VS 可以附加到 iexplorer.exe并能够调试在其中运行的脚本。
请记住,这是非常令人沮丧的调试体验。如果您可以在更现代的浏览器中调试(包括具有不错的开发工具的 IE9),请这样做!