10

我正在开发的项目使用 jQuery。

我进行了一系列 Ajax 调用,加载()其他 HTML 片段,而这些片段又加载()其他片段。整个事情令人困惑。我没有写代码。

是否有任何工具可以让我遍历调用堆栈,以便我可以弄清楚什么是调用方法?有什么浏览器工具可以帮助我解决这个问题吗?

解决方案:
最终这是因为在服务器端代码中注入了 <script src="..." 导致的。你的建议真的很有帮助——它是这些和临时将 Ajax 设置为同步而不是异步的组合,这帮助我找到了问题。

$.ajaxSetup({
    async: false
});
4

4 回答 4

8

Firebug能够做到这一点。

当调试器暂停时,Firebug 会显示调用堆栈,这是一组当前正在运行并等待返回的嵌套函数调用。

调用堆栈表示为工具栏中的一个紧凑的按钮条,每个按钮都有堆栈上的一个函数的名称。您可以单击任何按钮跳转到该函数暂停的行,并查看该函数内的局部变量。

于 2010-05-17T20:50:23.183 回答
7

Chrome 还在开发者工具下内置了一个非常邪恶的调试器,不需要附加组件/扩展。

于 2010-05-17T20:56:03.353 回答
1

+1 萤火虫。您可以暂停调试器以遍历调用堆栈 http://getfirebug.com/javascript

于 2010-05-17T20:58:36.290 回答
1

您可能还想尝试 Opera 的 Dragonfly(在任何最近的 Opera 版本中都可用)。我发现它不如 Firebug 精致,但它下面的一些错误更加明确。

于 2010-05-17T20:58:53.060 回答