chrome gwt1.7_快速提示:使用Chrome开发工具调试GWT应用程序

chrome gwt1.7

调试是软件开发的重要方面。 拥有正确的工具可以节省大量时间和头痛。 在GWT Super Dev模式之前,经典的Dev模式允许使用JVM调试。 开发人员可以在其IDE中设置断点,并使用调试模式来跟踪错误和错误。 现在,在超级开发模式下,情况有所不同。 整个应用程序都是在浏览器中编译和运行的,因此不再可以使用JVM调试。 想到的问题是:是否可以在浏览器中调试Java? 幸运的是,答案是肯定的。
原则上,浏览器只能运行和调试javascript。 为了克服此缺点,引入了源地图。 源映射是从源映射到目标语言的蓝图。 源映射可以用于多种语言,甚至可以在最小化和未最小化的javascript之间进行映射。 在本文中,我们将使用源地图和Chrome开发工具来调试应用程序错误。 我们将以遇到运行时错误的Polymer-starter-kit为例。 错误如下

该错误不会破坏应用程序,但重要的是要知道导致它的原因。

没有源图:

如果我们尝试在不启用源代码映射的情况下访问源代码,则将无法在源代码中指出错误发生的位置。

启用源地图:

为了克服这个问题,我们需要激活源地图。 可以在Chrome上通过转到设置->源->启用JavaScript源地图来激活源地图。 通常,默认情况下,源映射是由GWT编译器生成的。 如果没有,在.gwt.xml中设置以下属性可以激活它们:

启用断点后,我们可以看到该错误现在指向.java文件而不是.js文件:

设置断点:

现在我们看到了错误发生的位置,我们可以设置一个断点来检查应用程序的状态。 可以通过在编辑器中单击行号来简单地设置断点。

跟踪错误:

最后,我们可以刷新应用程序。 到达断点时,应用程序将停止。 然后,我们可以检查调用堆栈和变量值。

现在我们知道错误完全在我们的代码中发生了。 我们可以检查是否误用了声明。 在这种情况下,删除无用的行就足够了。

使用Chrome工作区(可选)

Chrome工作区允许将浏览器加载的文件映射到磁盘上的文件,并直接对Chrome中的文件进行更改。 如果不需要IDE辅助并且不想从浏览器到IDE来回切换,这将很有用。 要使用Chrome工作区,您可以右键单击左侧“源”选项卡上的空白处,然后单击“将文件夹添加到工作区”。 然后,您可以右键单击打开的文件,然后单击“映射到文件系统资源”。 有关更多信息,请访问: https : //developers.google.com/web/tools/setup/setup-workflow

结语:

使用源映射在浏览器中调试GWT应用可以节省大量时间,并有助于正确跟踪错误。 Chrome Dev工具提供了功能强大的调试工具,可以帮助提高生产率并快速解决错误。 Chrome开发工具提供了更高级的调试功能,例如调试HTTP请求和DOM更改,如果您想探索这些内容,可以转到Google的用户指南: https : //developers.google.com/web/tools/ chrome-devtools / javascript / breakpoints

值得一看的: DevTools:2017年国际联盟(Google I / O '17)

翻译自: https://www.javacodegeeks.com/2017/07/quick-tip-debugging-gwt-application-using-chrome-dev-tools.html

chrome gwt1.7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet 运行原理

文章目录Servlet 如何运行演示 Servlet 运行原理Servlet 如何运行 用户向浏览器地址栏输入:http://ip:port/helloweb/sayHello?namezs 浏览器使用 ip:port(端口号)连接服务器 浏览器将请求数据按照 http 协议打成一个数据包(请求数据包)发送给服务器 请求数据包…

java github_GitHub Research:超过50%的Java记录语句写错了

java github为什么生产日志无法帮助您找到错误的真正根本原因? 询问您是否使用日志文件监视您的应用程序几乎就像询问…您是否喝水。 我们都使用日志,但是我们如何使用它们则是一个完全不同的问题。 在下面的文章中,我们将对日志进行更深入…

yolov5论文_YOLOv5的妙用:学习手语,帮助听力障碍群体

编辑:魔王、杜伟计算机视觉可以学习美式手语,进而帮助听力障碍群体吗?数据科学家 David Lee 用一个项目给出了答案。如果听不到了,你会怎么办?如果只能用手语交流呢?当对方无法理解你时,即使像订…

python制作系统程序与html交互_python+html语音人物交互_flask后台与前端(html)交互的两种方法...

基于python flask框架搭建webflask后台与前端(html)交互的两种方法:方法1 使用flask-wtf 提供的表单用常见的登录为例:// An highlighted blockfrom flask_wtf import Formclass LoginForm(Form): # 登录表单ROLE SelectField(角色, choices[(s, 管理员…

Java 程序执行过程的内存流程图(结合类加载器 ClassLoader 讲解)

Student s new Student(); s.play(); Student s2 new Student();以上代码的执行流程如下: JVM 作为操作系统的一个迚程在系统中执行,那么系统会为 JVM 分配一块内存空间,这块内存空 间被 JVM 分为 3 大块(栈区、堆区、方法区) 一般而言&a…

虚拟内存越大越好吗_手机的运行内存真的是越大越好吗?6GB和8GB到底又该如何选择?...

许多人买手机,除了看处理器、外观以外,关注最多的莫过于手机的运行内存了。选择一个合适的运行内存几乎关系到整个手机使用寿命和命脉。那么我们现在买手机选择多大的运行内存合适呢?真的是越大越好吗?下面我们就来一起看看吧。选…

显微镜自动聚焦原理是什么_什么是共聚焦显微镜?你了解过共聚焦显微镜吗?...

更出色的表面分析ZEISS Smartproof 5产品表面粗糙度质量控制ZEISS Smartproof 5是一款集成式转盘共聚焦显微镜,依托孔径关联技术将传统共聚焦显微镜的高分辨率与转盘系统的高速采集相结合,能够高速、准确地采集表面3D数据。二维测量:距离、高…

Java 程序执行过程的内存流程图(手写稿)

操作系统会分配一定的内存空间给JVM,空间大小可以在JVM里面设置,JVM会将内存分为三个区域:栈、堆、方法区。

dc/os_DC / OS中具有Java和数据库应用程序的服务发现

dc/os该博客将展示一个简单的Java应用程序如何使用DC / OS中的服务发现与数据库进行对话。 为什么要进行服务发现? 应用程序通常由多个组件组成,例如应用程序服务器,数据库,Web服务器,缓存和消息传递服务器。 通常&am…

python进阶项目设计_Python进阶循环设计

之前在“循环”一节,我们已经讨论了Python最基本的循环语法。这一节,我们将接触更加灵活的循环方式。1. 利用range(), 得到下标在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标。之…

Struts2请求处理的内部流程图/结构图/原理图(版本二)

文章目录请求处理流程图流程说明请求处理流程图 流程说明 第 1 步: 客户端初始化一个指向 Servlet 容器(例如 Tomcat)的请求,例如:在浏览器中输入 http:localhost:8080/Struts2/helloworld/helloworldAction.action …

xampp mysql 查询很慢_如何开启mysql的慢查询机制

1 在mysql中默认是不会开启慢查询日志功能的,我们可以使用show variables like ‘%slow%‘来查看一下。结果如下:参数说明:log_slow_queries表示服务器端是否开启慢查询日志记录功能,slow_query_log表示mysql监测满查询的功能是否…

uaa 授权_使用UAA OAuth2授权服务器–客户端和资源

uaa 授权在上一篇文章中,我介绍了如何使用Cloud Foundry UAA项目启动OAuth2授权服务器,以及如何使用OAuth2授权代码流程中涉及的一些参与者来填充它。 我在Digital Ocean网站上发现这篇文章在描述OAuth2授权代码流方面做得很好,因此&#xf…

ps背景不变换字_PS教程:复杂背景中,如何利用通道轻松抠出发丝?

点击图片 1元抢购 PS、PR、AE等课程活动无缝抠图复杂背景当我们常用的钢笔抠图解决不了细碎的头发丝时我们可以用通道进行抠图,换背景在复杂的背景中把头发丝抠出来配套PS素材请到QQ群:565256668下载首先打开素材,我们发现背景比较复杂&…

阿里云 ram 容器镜像_容器中Java RAM的使用:不会丢失内存的5大技巧

阿里云 ram 容器镜像在本文中,我们希望分享Java内存管理的细节以及容器内部的弹性,这些细节乍一看并不明显。 在下面,您将找到要注意的问题列表以及即将发布的JDK版本中的重要更新,以及针对核心痛点的现有解决方法。 我们收集了5…

java堆内存剩余多少合理_Java堆内存的10个要点

我刚开始学习Java编程时,可不知道什么是堆内存或堆空间(heap space),甚至根本不管对象创建时都放在哪里去了。正式了写一些程序后,经常会遇到java.lang.outOfMemoryError等错误,我才开始关注堆内存。对大多数程序员都经历过这样的…

Struts2请求处理的内部流程图/结构图/原理图(版本一)

流程说明: 1.客户端浏览器(Client)向服务器发送一个 http 请求(HttpServletRequest) 2.Container(容器) 通过 web.xml 映射请求,并获得控制器(Controller)的…

java中springdi_java中spring入门

1、spring的概念apache推出的java企业框架,提供了基于ioc的对象工厂、aop面向切面编程等功能及其他增强功能。当前版本4.xxx,支持注解的配置。 springmvc。2、控制反转(ioc):inversion of control。用来描述框架的重要特征spring针对ioc的具体实现&#…

tableau选择计算_干货 | 年薪40W, 掌握Tableau的留学生真的赚翻了

文章来源:UniCareer Tableau作为一款数据分析工具向来被视为文科转行Data必学因为它不需要你有Coding经验而且极易上手那么,Tableau究竟该怎么学?学会Tableau可以胜任哪些岗位?1Tableau: 学到就是赚到Tableau作为一款数据可视化工…