批處理調試方法 [

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

第一步:
去掉@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 ,而後看看,程序提示的錯誤是什麼,下面的工做就由大家本身去完成了,呵呵...

歡迎批評指正!app

相關文章
相關標籤/搜索