有没有一个简单的批处理文件调试器?

问题描述 投票:0回答:1

我正在调试一组复杂的 dos 批处理文件,这些文件更改目录、设置变量、创建文件并相互调用。我使用的是 Windows 10。我知道,我可以编辑每个文件并添加 @echo 并每隔一段时间暂停一次。但这很乏味而且容易出错。我肯定会把事情搞砸得更多。我记得在 Turbo-C 时代有一种方法可以一次执行一行程序并检查程序的状态。所有这一切,无需编辑代码。 dosbatch 文件没有这样的方法(或 cmd.exe 的模式)吗?

batch-file
1个回答
0
投票

简短的回答肯定是否定的。

但是...

我所做的是保留一个用于调试变量的前缀字符,比如

#

然后

call monitor somestring

在兴趣点

路径中的

monitor.bat
包含

rem goto :eof
@echo off
setlocal
echo =============================================
echo monitor %*
set #
echo =============================================
pause

然后在要调试的批处理中,您可以输入,例如。

call monitor place-identifier critical data %%b %%c %%q

报告代码位置、关键数据和变量、受监控的变量以及您喜欢的任何其他内容,如果您在

errorlevel
行之间扩展报告(例如
===
),请小心处理诸如变化
if exist filename (echo filename exists) else (echo filename missing)
之类的事情)

“删除”调试可以通过简单地从

rem
中删除
monitor.bat
来完成(仍然执行调用的时间成本,但您仍然可以通过重新
rem
ming 来保留即时进入调试模式
 monitor.bat

© www.soinside.com 2019 - 2024. All rights reserved.