繁体   English   中英

在Firebug中调试Javascript函数

[英]Debugging Javascript functions in Firebug

我正在尝试使用Firebug调试旧脚本。 据我所知(我昨天得到的),我们使用Step over (F10)逐行调试,然后使用Step into (F11)来挖掘JS函数。 但是,当我在任何JS函数调用上使用Step into时,它将控制下一行。 我想看看函数内部隐藏了什么。 我们该怎么做?
我将断点保留在函数内部,然后尝试“ Step into然后在函数体内进行控制。 但是,找到每种功能方法并设置断点很繁琐。 还有其他方法吗? 或哪种方法是正确的?
例如 :

 i2b2.ONT.ctrlr.FindBy = {

    clickSearchName: function() {
      // do some stuff
      i2b2.ONT.ctrlr.FindBy.doNameSearch(search_info);  // I tried Step into here
      // some more stuff
    }  

    doNameSearch: function(inSearchData) {
     // If I set break-point here then only I can debug it 
     // or it directly takes control to `// some more stuff` in `clickSearchName:function` 

    }
 }     

PS:它还有更多的外部JS函数调用。

谢谢,
Ajinkya。

如果该功能有JS来源,则“进入”将进入该功能。 如果不是这样(例如document.getElementById("foo") ,它将覆盖它,因为它没有任何要理解的内容。

如果您可以向我们提供一个存在问题的工作示例(问题的jsFiddle简化或一个工作的网页),并提供相关代码在哪里的说明,我们可能会提供更多帮助。

从您的代码示例来看,我想知道您要尝试的内容。 clickSearchName开头的代码行定义了一个函数。 它不执行它。 因此,在以后的一些代码实际调用clickSearchName之前,它不会进入该函数。 因此,也许您正在打破函数的定义,并试图在不执行该函数时进入该函数。 不过,这只是一个猜测,因为我们没有一个可行的示例来尝试一下。

添加线路debugger; 在您想要插入调试器的地方的代码中,这是一个JavaScript关键字,它应该执行您想要的操作。 只需记住在调试完代码后将其取出即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM