当前位置: 首页 > 科技观察

你可能不知道的调试技巧

时间:2023-03-13 14:42:41 科技观察

1.远程调试调试是开发者必备的技能,我们几乎每天都在使用它。但大多数时候,我们只是在本地计算机上调试程序。有时,本地调试不能满足调试要求。例如,由于本地电脑环境和服务器环境的软硬件差异,导致本地电脑无法重现问题,也就无法调试和定位问题。说到这里,我们可能脑洞大开,能不能直接调试部署在服务器上的应用呢?答案是可以的,可以在服务器上安装相应的开发调试工具,然后直接调试。此外,您还可以直接使用本地开发工具远程调试部署在服务器上的应用程序。下面简单介绍一下如何对我们常用的WebSphere(以下简称was)中间件进行远程调试:1.在was上设置远程调试服务(以下展示的都是在was6.1.0.43上的操作):登录was控制台,服务器->应用服务器->选择启用调试服务的服务器->调试服务,勾选“服务启动时启用服务”,重启服务器。wassetting2.SetuponnativeIDE(Eclipsedemonstratedhere,Version:HeliosServiceRelease2,Buildid:20110218-0911):eclipsesetting3.在原生IDE上(Eclipsedemonstratedhere,Version:HeliosServiceRelease2,Buildid:20110218-0911)右击'DebugAs'选择2中新建的调试设置,等待服务器上的断点被触发,然后进入远程调试,和本地调试一样流畅。更多内容请参考:使用Eclipse远程调试Java应用二、前端h??ack服务器往往容易出现各种原生环境无法呈现的问题。真是生生不息,填空洞,堪忧恶猿!很多时候,通过各种方法和技巧定位到问题,也找到了解决的办法。本地验证通过,但更重要的是,还需要在服务端进行验证。作为运行中的服务器,一般不允许随意中断,也不能轻易更新升级。那么如何在不改变服务器的情况下进行服务器端验证呢?可以使用浏览器的调试功能(此方案只在某些需要修改前端js、jsp等代码的情况下有效)。例如:在下面代码的情况下,如果附件名称中包含中文,则保存时会出现乱码。解决方案是使用encodeURIComponent对fileNameDes进行两次编码。但是此时,当服务器不允许临时升级时,如何验证问题是否已经解决?是的,这位童鞋说的没错,可以在浏览器的F12调试功能中使用监听直接更改变量值(将methodPath变量设置为encodingURIComponent编码两次后的值)来查看验证最终效果。在监听处添加如下代码(效果同上传部署***代码):methodPath=mainPath+"method=getDown&id="+id+"&fileNameDes="+encodeURIComponent(encodeURIComponent(fileNameDes))+"&fileName="调试修改变量值