热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Javascript使用Firebug观察基于表达式的断点?-JavascriptwatchexpressionbasedbreakpointswithFirebug?

Workingthroughsomeeventroutingrightnowandtheresalotofdebuggingsteps.现在正在处理一些事件路由,并且有很

Working through some event routing right now and there's a lot of debugging steps.

现在正在处理一些事件路由,并且有很多调试步骤。

I know about using "debugger" in the Javascript and putting that after a conditional, and that is useful. I also know about right clicking a break point to add a test expression which is even better. However... I have no idea where this thing is going to take me and I am starting to wear out my function keys. Is there any way to add a breakpoint to a watch expression?

我知道在Javascript中使用“debugger”并将其置于条件之后,这很有用。我也知道右键单击一个断点来添加一个更好的测试表达式。但是......我不知道这件事会带给我什么,我开始磨损我的功能键。有没有办法在监视表达式中添加断点?

Basically the idea is this, within the enclosure scope, I want to check for a variable called "this.id". If this.id is the value I want, I enter the debugger.

基本上这个想法是这样的,在封装范围内,我想检查一个名为“this.id”的变量。如果this.id是我想要的值,我进入调试器。

Any ideas?

Thanks

Wanted to add that Didier's answer below solved my problem as they outlined in the article for decorating "Function". This will most likely be the path of least resistance for searching all functions for the value I want.

想要补充说下面的迪迪埃的答案解决了我们在装饰“功能”的文章中概述的问题。这很可能是搜索我想要的所有函数的阻力最小的路径。

Function.prototype.debug = function(){   
   var fn = this; 
   return function(){     
       if (debugme) debugger; 
       return fn.apply(this, arguments);     
   }; 
};

3 个解决方案

#1


4  

To programmatically break on Javascript code, you can use the following statement:

要以编程方式中断Javascript代码,可以使用以下语句:

debugger;

This works in Firebug, Chrome's console and IE.

这适用于Firebug,Chrome的控制台和IE。

So following your question, you could do something like:

因此,按照您的问题,您可以执行以下操作:

if (this.id === "myId")
    debugger;

The following article is pretty useful.

以下文章非常有用。

#2


4  

If you are referring to "conditional breakpoints", that is to say a breakpoint that only pauses execution when a statement is true, you can do this by right-clicking on a line of script, and selecting "Edit Breakpoint Condition...", then adding the statement you want to trigger the breakpoint, e.g., this.id === "foo";

如果您指的是“条件断点”,也就是说只有在语句为真时才暂停执行的断点,您可以通过右键单击一行脚本并选择“编辑断点条件...”来执行此操作。 ,然后添加你想要触发断点的语句,例如this.id ===“foo”;

#3


1  

I'm not 100% clear on how what you need is different from a conditional breakpoint. e.g. adding

我不是100%清楚你需要什么与条件断点不同。例如加入

 var watchVar = this.id

then setting a condition for the breakpoint of

然后设置断点的条件

watchVar == someInt 

should work, no?

应该工作,不是吗?

If not, you can break on property change by placing a normal breakpoint somewhere in the closure. When you hit it, look for this.id in the watch pane, right click it and choose 'break on property change'. At the moment, that's about as far as you can go, but it doesn't allow you to specify some id values and not others.

如果没有,您可以通过在闭包中的某处放置一个普通断点来打破属性更改。当你点击它时,在监视窗格中查找this.id,右键单击它并选择“中断属性更改”。目前,这是你可以去的,但它不允许你指定一些id值而不是其他值。


推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文由编程笔记小编整理,主要介绍了使用Junit和黄瓜进行自动化测试中步骤缺失的问题。文章首先介绍了使用cucumber和Junit创建Runner类的代码,然后详细说明了黄瓜功能中的步骤和Steps类的实现。本文对于需要使用Junit和黄瓜进行自动化测试的开发者具有一定的参考价值。摘要长度:187字。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • 本文介绍了在Go语言中可见性与scope的规则,包括在函数内外声明的可见性、命名规范和命名风格,以及变量声明和短变量声明的语法。同时,还介绍了变量的生命周期,包括包级别变量和局部变量的生命周期,以及变量在堆和栈上分配的规则和逃逸分析的概念。 ... [详细]
  • 如何压缩网站页面以减少页面加载时间
    本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ... [详细]
  • switch语句的一些用法及注意事项
    本文介绍了使用switch语句时的一些用法和注意事项,包括如何实现"fall through"、default语句的作用、在case语句中定义变量时可能出现的问题以及解决方法。同时也提到了C#严格控制switch分支不允许贯穿的规定。通过本文的介绍,读者可以更好地理解和使用switch语句。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
author-avatar
海啸1203_902
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有