批处理调试方法 [

我想无论是什么人,都是一边写代码,一边调试
若是没有正确的调试方法,那会大大下降写代码的效率,特别是碰到一些大型的“程序”...
下面就我我的的一些经历,谈谈个人一些关于批处理的调试方法....

第一步:
去掉@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

相关文章
相关标签/搜索