批處理調試方法 [

我想不管是什麼人,都是一邊寫代碼,一邊調試
如果沒有正確的調試方法,那會大大降低寫代碼的效率,特別是碰到一些大型的“程序”...
下面就我個人的一些經歷,談談我的一些關於批處理的調試方法....

第一步:
去掉@echo off

幾乎每個人都有這樣的書寫習慣,屏蔽命令回顯。但是,在調試過程中,我們卻要研究到底哪一行出了錯誤,所以這個時候再不能屏蔽命令行回顯了...

第二步:(針對新手,老手直接跳過)
在原代碼的每行的下一行添加pause(當然,也要把你前面添加的pause去掉)
舉例說明,測試代碼:
複製內容到剪貼板
代碼:
@echo off
echo Happy new year
echo Best wishs to everyone
if a==a echo ok>   %=====注意,這句末尾有個 > ,是個特殊符號,運行到這裏,程序會意外退出=====%
pause>nul
運行這個代碼的時候,我們會看到批處理窗口,一閃而過(運行過程中有錯誤),說明我們的程序有語法錯誤。作爲新手,我們調試的時候要怎麼辦呢?我們就嘗試在每行的後面添加 pause 的方法,如:
複製內容到剪貼板
代碼:
@echo off
echo Happy new year
pause %=========這裏添加一個pause=======%
echo Best wishs to everyone
if a==a echo ok>   %=====注意,這句末尾有個 > ,是個特殊符號,運行到這裏,程序會意外退出=====%
pause>nul
我們再運行,發現程序竟然沒意外退出,這個說明 第一 個pause前面的代碼沒出現語法錯誤,然後刪除 pause這一行,在下一行 插入pause 看運行結果,例:
複製內容到剪貼板
代碼:
@echo off
echo Happy new year
echo Best wishs to everyone
pause %=========這裏添加一個pause=======%
if a==a echo ok>   %=====注意,這句末尾有個 > ,是個特殊符號,運行到這裏,程序會意外退出=====%
pause>nul
運行,發現也沒運行錯誤,說明前面的語句都沒錯,那就繼續下,直到找到錯誤的地方....

第三步:(面對“老手”)
呵呵,這個誇張了點,可能老手都知道了,方法就是在 命令行下 直接調用自己的 調試文件,看返回結果哪裏出現錯誤(這個需要眼睛非常 利索 羅);

再拿以上的代碼來測試(假設保存爲f:\test.bat,):
命令行下,輸入 f:\test.bat,看運行結果:
複製內容到剪貼板
代碼:
F:\>F:\test.bat
Happy new year
Best wishs to everyone
命令語法不正確。
很明顯,在echo Best wishs to everyone 下出現了語法錯誤;
當然,這個程序非常短,錯誤排查比較簡單,如果程序段非常長,那就比較麻煩。也用這種辦法去排查(先去掉@echo off),但是眼睛要緊緊盯着運行窗口,看看哪裏開始出現錯誤,只要一出現,就馬上按 ctrl + c ,然後看看,程序提示的錯誤是什麼,下面的工作就由你們自己去完成了,呵呵...

歡迎批評指正!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章