你可能不知道的調(diào)試技巧
1.遠程調(diào)試
調(diào)試作為開發(fā)人員的必備技能,我們幾乎每天都會用到。但是大多數(shù)時候,我們僅僅是在本地計算機上進行程序的調(diào)試而已。有些時候,本地調(diào)試是無法滿足調(diào)試要求的,比如:由于本地計算機環(huán)境和服務器環(huán)境的軟硬件差異,導致本地計算機無法復現(xiàn)問題,因而也無從調(diào)試定位問題。此時,我們可能會腦洞大開,是否可以直接調(diào)試部署在服務器上的應用程序呢?答案是肯定的,你可以在服務器上面安裝相應的開發(fā)調(diào)試工具,然后直接調(diào)試。此外,你也可以直接使用本地開發(fā)工具遠程調(diào)試服務器上部署的應用程序。
下面簡單介紹下如何在我們常用的WebSphere(下文以was簡稱)中間件上,進行遠程調(diào)試:
1.在was上設置遠程調(diào)試服務(以下所示均為在was6.1.0.43上的操作):
登錄was控制臺,服務器->應用程序服務器->選擇所要開啟調(diào)試服務的server->調(diào)試服務,勾選”在服務啟動時啟用服務”,并重啟服務器。
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中新建的調(diào)試設置,坐等服務器上斷點被觸發(fā),即可進入遠程調(diào)試,如本地調(diào)試般順滑。
更多信息可參考:使用Eclipse遠程調(diào)試Java應用程序
2.前端 hack
服務器上經(jīng)常容易出現(xiàn)各種本機環(huán)境所無法呈現(xiàn)的問題。真是生命不息,填坑不止,愁煞猿也!很多時候,通過各種方法技巧定位到了問題所在,也找到了解決方案本機驗證通過,但是更重要的是需要在服務器上面進行驗證。作為運行中的服務器,一般是不允許被隨意中斷的,也不能輕易進行更新升級的。那么要如何不改變服務器而又可以進行服務器端的驗證呢?可以利用瀏覽器的調(diào)試功能(此方案僅在某些需要修改前臺js、jsp等代碼的情況下有效)。
比如:以下代碼情況下,若附件名含有中文則將導致保存的時候出現(xiàn)亂碼。
文件名未進行編碼
解決方案就是對fileNameDes進行兩次的encodeURIComponent編碼。但是此時在服務器不允許臨時升級的情況下,怎么驗證問題是否得到解決呢?對,這位童鞋說對了,可以利用瀏覽器的F12調(diào)試功能里面的監(jiān)視,直接改變變量值(把methodPath變量設置為經(jīng)過了兩次encodeURIComponent編碼后的值)來查看驗證最終的效果。在監(jiān)視處添加如下代碼(產(chǎn)生的效果即和上傳部署***代碼效果一致):
- methodPath = mainPath + "method=getDown&id="+id+"&fileNameDes="+encodeURIComponent(encodeURIComponent(fileNameDes))+"&fileName="
 
調(diào)試修改變量值















 
 
 







 
 
 
 