我想不管是什麼人,都是一邊寫代碼,一邊調試
如果沒有正確的調試方法,那會大大降低寫代碼的效率,特別是碰到一些大型的“程序”...
下面就我個人的一些經歷,談談我的一些關於批處理的調試方法....
第一步:
去掉@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 ,然後看看,程序提示的錯誤是什麼,下面的工作就由你們自己去完成了,呵呵...
歡迎批評指正!
批處理調試方法 [
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Linux基本操作命令
wbzjacky
2019-02-24 13:12:38
真實的模擬***綜合實驗
wbzjacky
2019-02-24 13:12:37
三層交換機的HSRP、vlan、端口聚合
wbzjacky
2019-02-24 13:12:37
HSRP和二層交換機的端口聚合、vlan
wbzjacky
2019-02-24 13:12:37
服務器雙機熱備解決方案
wbzjacky
2019-02-24 13:12:37
各種光模塊的傳輸距離
realzfd
2019-02-24 13:10:25
ESX4 通過VMware vSphere CLI 開啓snmp
realzfd
2019-02-24 13:09:43
SOLARWINDS服務器更改計算機名導致的一次奇怪故障
realzfd
2019-02-24 13:09:42
Dlink交換機常用命令
千年小道
2019-02-24 13:06:21
Sametime的安裝細節問題
god9394
2019-02-24 13:04:19
電信禁止路由器上網的破解方法
god9394
2019-02-24 13:03:51
24小時熱門文章
-
再談23種設計模式(3):行爲型模式(學習筆記)
-
Power Automate Desktop 安裝完,登錄後老是提示one driver 錯誤
-
微前端學習筆記(4):從微前端到微模塊之EMP與hel-micro方案探索
-
微前端學習筆記(1):微前端總體架構概述,從微服務發微
-
985 碩士程序員,空窗 4 個月沒有 Offer!
-
一文搞懂 Spring 循環依賴
-
賽博鬥地主——使用大語言模型扮演Agent智能體玩牌類遊戲。
-
VScode右鍵打開(添加到右鍵)
-
記一次 .NET某工控視覺自動化系統 卡死分析
-
WindowsServer--SQL Server搭建主從同步實現讀寫分離 - 事務性分發