洛阳便宜网站建设费用,wordpress如何修改用户名,特产网站开发的好处,湖南中海建设集团有限公司网站欢迎关注专栏《Java架构筑基》——专注于Java技术的研究与分享#xff01;Java架构筑基zhuanlan.zhihu.comJava架构筑基——专注于Java技术的研究与分享#xff01;后续文章将首发此专栏#xff01;欢迎各位Java工程师朋友投稿和关注Java架构师进阶之路常用资料分享Java架构筑基zhuanlan.zhihu.comJava架构筑基——专注于Java技术的研究与分享后续文章将首发此专栏欢迎各位Java工程师朋友投稿和关注Java架构师进阶之路常用资料分享一. Java调试1.1 Eclipse调试1.1.1 Debug1.1.1.1 条件断点断点大家都比较熟悉在Eclipse Java 编辑区的行头双击就会得到一个断点代码会运行到此处时停止。条件断点顾名思义就是一个有一定条件的断点只有满足了用户设置的条件代码才会在运行到断点处时停止。在断点处点击鼠标右键选择最后一个Breakpoint Properties断点的属性界面及各个选项的意思如下图1.1.1.2 变量断点断点不仅能打在语句上变量也可以接受断点上图就是一个变量的打的断点在变量的值初始化或是变量值改变时可以停止当然变量断点上也是可以加条件的和上面的介绍的条件断点的设置是一样的。1.1.1.3 异常断点经常遇见一些异常然后程序就退出来了要找到异常发生的地方就比较难了还好可以打一个异常断点上图中我们增加了一个NullPointException的异常断点当异常发生时代码会停在异常发生处定位问题时应该比较有帮助。1.1.1.4 方法断点方法断点就是将断点打在方法的入口处方法断点的特别之处在于它可以打在 JDK的源码里由于 JDK 在编译时去掉了调试信息所以普通断点是不能打到里面的但是方法断点却可以可以通过这种方法查看方法的调用栈。1.1.1.5 改变变量值代码停在了断点处但是传过来的值不正确如何修改一下变量值保证代码继续走正确的流程或是说有一个异常分支老是进不去能不能调试时改一下条件看一下异常分支代码是否正确在Debug 视图的 Variables 小窗口中我们可以看到 mDestJarName 变量的值为 F:StudyeclipseproJarDirjarHelpjar 我们可以在变量上右键选择Change Value… 在弹出的对话框中修改变量的值或是在下面的值查看窗口中修改保用CtrS 保存后变量值就会变成修改后的新值了。1.1.1.6 重新调试这种调试的回退不是万能的只能在当前线程的栈帧中回退也就说最多只能退回到当前线程的调用的开始处。回退时请在需要回退的线程方法上点右键选择 Drop to Frame1.1.2 远程调试1.1.2.1 环境tomcatEclipse做远程调试不需要任何插件。项目新建一个web项目indexjsp源码如下%comsyjtestDebugTesttest(远程调试测试);
%
Hello Remote Debug创建一个DebugTest类代码如下public class DebugTest{public static void test(String content){Systemoutprint(content);}
}1.1.2.2 tomcat配置将web应用部署到Tomcat的webapp目录下修改Tomcat/bin/startupbat文件在最前面加上如下代码SET CATALINA_OPTS-server -Xdebug -Xnoagent -DjavacompilerNONE -Xrunjdwp:transportdt_socketserverysuspendnaddress8000注意上面命令必须写成一行中间不能有换行-前是空格-后是非空格由于word原因该文章在显示的时候可能会有换行的情况。必须先启动Tomcat启动tomcat/bin/startupbat参下图1.1.2.3 Eclipse配置在comsyjtestDebugTesttest方法中设置断点在eclipse中配置debug配置完成后点击debug按钮。如图打开浏览器访问部署的web应用访问indexjsp当浏览器访问indexjsp时由于调用了comsyjtestDebugTesttest又因在test方法中设置了断点所以程序会被断点拦截如图不需要调试的时候点击断开需要调试的时候再点击debug非常方便当调试过程中出现引用非本project的源码时例如跟踪到tomcat里面或springhibernate里面会提示找不到源码点击相应提示的按钮到时候editor区只有一个按钮所以大家就不要问哪个按钮了可以添加源码继续调试或在配置debug前就把需要的源码都添加上在source选项卡里面。二. 浏览器调试主要讲解Google浏览器2.1 谷歌浏览器调试Google Chrome除了简洁、快速现在的Chrome的插件也非常的丰富了。而对于web开发者来说Chrome对于JSt调试很好用HTML5、CSS3等一些新标准的支持也是比较完善的而且Chrome的开发者工具我个人认为真的非常好用。2.1.1 启用调试怎样打开Chrome的开发者工具你可以直接在页面上点击右键然后选择审查元素或者在Chrome的工具中找到或者你直接记住这个快捷方式 CtrlShiftI (或者CtrlShiftJ直接打开控制台)或者直接按F12。界面如下图不过我一般习惯与点左下角的那个按钮将开发者工具弹出作为一个独立的窗口2.1.2 调试功能标签页说明2.1.2.1 Elements标签页这个就是查看、编辑页面上的元素包括HTML和CSS左侧就是对页面HTML结构的查看与编辑你可以直接在某个元素上双击修改元素的属性或者你点右键选Edit as Html直接对元素的HTML进行编辑或者删除某个元素所有的修改都会即时在页面上得到呈现。注看到上面右键菜单的最后一个选项审查元素了么这是不是说明这个开发者工具的页面也是HTML来的呢你点一下就知道了嘿嘿你还可以对某个元素进行监听在JS对元素的属性或者HTML进行修改的时候直接触发断点跳转到对改元素进行修改的JS代码处Elements标签页的右侧可以对元素的CSS进行查看与编辑修改你还可以通过这里看到各CSS选择器设置的CSS值的覆盖情况。下面的Metrics可以看到元素占的空间情况宽、高、Padding、Margin神马的注意到上面的Properties没有这个很有用可以让你看到元素具有的方法与属性比查API手册要方便得多要注意某些方法和属性在IE、FireFox等其他浏览器下面的支持情况。2.1.2.2 Resources标签页Resources标签页Resources标签页可以查看到请求的资源情况包括CSS、JS、图片等的内容同时还可以查看到存储相关的如Cookies、HTML5的Database和LocalStore等你可以对存储的内容编辑和删除。这里的CSS文件有一个好玩的特性你可以直接修改CSS文件并且修改即时生效2.1.2.3 Network标签页Network标签页Network标签页对于分析网站请求的网络情况、查看某一请求的请求头和响应头还有响应内容很有用特别是在查看Ajax类请求的时候非常有帮助。注意是在你打开Chrome开发者工具后发起的请求才会在这里显示的。点击左侧某一个具体去请求URL可以看到该请求的详细HTTP请求情况我们可以在这里看到HTTP请求头、HTTP响应头、HTTP返回的内容等信息对于开发、调试都是很有用的。2.1.2.4 Script标签页很明显这个标签页就是查看JS文件、调试JS代码的直接看下图的说明还有你可以打开Javascript控制台做一些其他的查看或者修改你甚至还可以为某一XHR请求或者某一事件设置断点2.1.2.5 Timeline标签页注意这个Timeline的标签页不是指网络请求的时间响应情况这个在Network标签页里查看这个Timeline指的JS执行时间、页面元素渲染时间点击底部的Record就可以开始录制页面上执行的内容。2.1.2.6 Profiles标签页Profiles标签页这个主要是做性能优化的包括查看CPU执行时间与内存占用2.1.2.7 Audits标签页这个对于优化前端页面、加速网页加载速度很有用相当与Yslow点击run按钮就可以开始分析页面分析完了就可以看到分析结果了它甚至可以分析出页面上样式表中有哪些CSS是没有被使用的2.1.2.8 Console标签页就是Javascript控制台了这个除了查看错误信息、打印调试信息consolelog()、写一些测试脚本以外还可以当作Javascript API查看用。例如我想查看console都有哪些方法和属性我可以直接在Console中输入console并执行怎么样一目了然了吧 再例如我想查看日期函数都有哪些方法注注意在这里看到的某些方法和属性是ES5新增的记得兼容其他浏览器的支持情况2.2 IE浏览器调试注意IE版本需要在IE8或以上版本2.2.1 启用调试双击IE浏览器的图标打开IE浏览器点击键盘上的F12键或者在ie工具栏下点击开发人员工具进入调试界面2.2.2 开始JS调试选脚本选项卡找到要调试的代码行然后右击添加断点或者直接点击也会出现断点。点击启动调试就会跑到设置的断点处。F11可以一步一步调试F10逐过程调试shiftF11跳出2.3 火狐浏览器调试2.3.1 概述在FireFox上插件库里找到FireBug安装即可网上下载进行安装。下图是FireBug Debug 窗口。FireBug美工用的非常普遍公司美工妹妹用的非常熟练 呵呵而对于我们开发人员主要用它来Debug JS。看看官方对Debug功能的介绍。Firebug includes a powerful JavaScript debugger that lets you pause execution at any time and see what each variable looked like at that moment If your code is a little sluggish use the JavaScript profiler to measure performance and find bottlenecks fast简而言之FireBug 可以让我们在任何时候debugJS 并查看变量同时可以通过它找出JS中性能瓶颈。2.3.2 调试步骤下图是如何找到Web应用的JS激活Firebug点Script然后在All 旁边选择你要Debug的JS。下图是如何打断点 基本跟Eclipse一样点击行号就Ok了。下图是如何在断点上设定条件如果条件符合就进入断点这个功能很不错特别是Debug很复杂的Function时候。下图是如何单步调试跟Eclipse一样 F11单步下图是查看调用的Stack对以复杂的JS Debug很有帮助。下图是查看变量 基本跟EclipseDebug 一样。 下图是在断点处查看变量。有个很好用的功能代码行之间快速调转使得对上千行的JS调试很轻松。下图就是Performance 测试结果使用很简单 点Profile还有一个Log功能比较实用看下图 如果你不想每次都进入断点用这个就再好不过了。三. 注意本文的调试只是常用的一些方法只能给大家一个方向同时由于工具版本原因在实践过程中若有迷茫的地方请到网上查询解惑# 链接 Java程序员福利常用资料分享