你可能不知道的调试技巧

移动开发
调试作为开发人员的必备技能,我们几乎每天都会用到。但是大多数时候,我们仅仅是在本地计算机上进行程序的调试而已。有些时候,本地调试是无法满足调试要求的,比如:由于本地计算机环境和服务器环境的软硬件差异,导致本地计算机无法复现问题,因而也无从调试定位问题。此时,我们可能会脑洞大开,是否可以直接调试部署在服务器上的应用程序呢?答案是肯定的,你可以在服务器上面安装相应的开发调试工具,然后直接调试。此外,你也可以直接使用本地开发工具远程调试服务器上部署的应用程序。

1.远程调试

调试作为开发人员的必备技能,我们几乎每天都会用到。但是大多数时候,我们仅仅是在本地计算机上进行程序的调试而已。有些时候,本地调试是无法满足调试要求的,比如:由于本地计算机环境和服务器环境的软硬件差异,导致本地计算机无法复现问题,因而也无从调试定位问题。此时,我们可能会脑洞大开,是否可以直接调试部署在服务器上的应用程序呢?答案是肯定的,你可以在服务器上面安装相应的开发调试工具,然后直接调试。此外,你也可以直接使用本地开发工具远程调试服务器上部署的应用程序。

下面简单介绍下如何在我们常用的WebSphere(下文以was简称)中间件上,进行远程调试:

1.在was上设置远程调试服务(以下所示均为在was6.1.0.43上的操作):

登录was控制台,服务器->应用程序服务器->选择所要开启调试服务的server->调试服务,勾选”在服务启动时启用服务”,并重启服务器。

was设置

2.在本机IDE(此处演示的为Eclipse,Version: Helios Service Release 2,Build id: 20110218-0911)上进行设置:

eclipse设置

 3.在本机IDE(此处演示的为Eclipse,Version: Helios Service Release 2,Build id: 20110218-0911)上右键‘Debug As’选择刚才2中新建的调试设置,坐等服务器上断点被触发,即可进入远程调试,如本地调试般顺滑。

更多信息可参考:使用Eclipse远程调试Java应用程序

2.前端 hack

服务器上经常容易出现各种本机环境所无法呈现的问题。真是生命不息,填坑不止,愁煞猿也!很多时候,通过各种方法技巧定位到了问题所在,也找到了解决方案本机验证通过,但是更重要的是需要在服务器上面进行验证。作为运行中的服务器,一般是不允许被随意中断的,也不能轻易进行更新升级的。那么要如何不改变服务器而又可以进行服务器端的验证呢?可以利用浏览器的调试功能(此方案仅在某些需要修改前台js、jsp等代码的情况下有效)。

比如:以下代码情况下,若附件名含有中文则将导致保存的时候出现乱码。

文件名未进行编码

解决方案就是对fileNameDes进行两次的encodeURIComponent编码。但是此时在服务器不允许临时升级的情况下,怎么验证问题是否得到解决呢?对,这位童鞋说对了,可以利用浏览器的F12调试功能里面的监视,直接改变变量值(把methodPath变量设置为经过了两次encodeURIComponent编码后的值)来查看验证最终的效果。在监视处添加如下代码(产生的效果即和上传部署***代码效果一致):

  1. methodPath = mainPath + "method=getDown&id="+id+"&fileNameDes="+encodeURIComponent(encodeURIComponent(fileNameDes))+"&fileName=" 

调试修改变量值

责任编辑:倪明 来源: 简书
相关推荐

2020-11-03 09:51:04

JavaScript开发 技巧

2017-11-07 21:58:25

前端JavaScript调试技巧

2021-01-05 11:22:58

Python字符串代码

2020-01-29 19:40:36

Python美好,一直在身边Line

2012-11-23 10:57:44

Shell

2024-03-04 00:00:00

Kubernetes技巧API

2022-09-20 11:58:27

NpmNode.js

2017-02-23 19:42:55

AS Android代码

2021-02-28 08:34:14

CSS outline-off负值技巧

2023-02-27 09:20:24

绝对定位CSS

2023-01-29 09:46:47

Dialog弹窗模态

2021-02-16 09:02:59

Python代码技巧

2021-02-21 06:36:57

运算技巧按位

2022-12-09 15:06:26

字符串Intl字符串分割

2022-12-21 08:05:04

字符串分割技巧

2021-07-12 07:59:06

安全 HTML 属性

2019-11-20 10:25:06

sudoLinux

2014-04-10 13:15:54

PythonPython技巧

2021-12-17 00:10:00

ChromeDevtools功能

2021-11-01 12:10:56

Python技巧代码
点赞
收藏

51CTO技术栈公众号