明明知道問題發生的地方,但是每次除錯前都需經過好幾道手續
這種狀況也是常常在工作中遇到的
-
明明可以確定問題出在這段程式碼之中,但是每次要到達這達程式碼之前,必須先在網頁上填寫一大堆資料才能送出。
-
或是資料是由其他專案送出,甚至是手機APP傳送過來的,每次程式改完,都要去麻煩對方重新操作後,才能測試。
真的很常在工作中遇到上述的這二種狀況,而且最討厭的是,明明已經處在Debug模式中了,程式也進入中斷點,卻不小心按到「繼續執行」鍵,中斷點就跑掉了,只能再經過一段麻煩的手續後,才能重新進入中斷點。
有沒有辦法能讓我們簡略這段麻煩的步驟,快速進入程式的中斷點呢?當然是有的,即然在本章中將這種狀況列出來,表示我們有一些小技巧可以處理這種狀況。
小技巧:快速送出封包
其實HTTP資料傳輸的原理,對一個寫程式的工程師來說,就是把二台機器的Socket(連線)接通,然後開始傳輸資料;所以理論上,從瀏灠器上送到伺服器的資料,也可以利用這種原理來達成。
基於這個道理,我們希望有一個工具,要能夠達到下列二種要求,
-
快速建立二邊機器的Socket(連線)。
-
能夠輸入資料。
有沒有這樣的一種小工具呢?答案是有的,那就是telnet程式。
介紹一下telnet:
telnet因為具有上述二種特性,所以最常被應用的地方叫BBS;它可以快速地與遠端的伺服器建立連線,並透過簡單的文字輸入,達成雙向的溝通;其中最具代表性的BBS,就是批踢踢。
準備工具:telnet(Windows、Linux base)
前提:需安裝telnet程式(下方會解說如何安裝),並有封包資料可供送出(如果沒有,可透過狀況B的小技巧,擷取封包)。
狀況說明:我們將利用telnet程式,直接傳送HTTP封包到伺服器,並取得回傳資料。
為了解說的方便,我們延續狀況B的環境,如下圖:
下列步驟適用Windows系統:
在執行telnet前需先安裝,安裝成功後,未來執行即可略過安裝步驟。
-
控制台→解除安裝程式
-
選擇左方的「開啟或關閉Windows功能」。
-
經過一分鐘左右的等待,勾選「telnet用戶端」後,按確定。
-
安裝中。
-
要求重新啟動,但是可以不用重新啟動,所以選擇「稍後重新啟動」。
上方是整個Windows安裝telnet的流程,如果你曾經安裝過,那麼就可以省略上述的步驟。
接下來要啟動telnet來送出封包。
-
開啟cmd指令列
-
輸入telnet 192.168.21.35 8080
-
按Enter後進入空白畫面,代表建立連線成功,接下來貼上已準備好的封包。
-
在Windows的cmd視窗中,不知道為何看不到送出的封包資料,只能看到伺服器回傳的資料,下方是伺服器回傳的資料。
很簡單的完成我們的目,上方圖片是在Window的環境下完成的,下一篇我們再來看Linux base 的環境。