调试任何AWK脚本有哪些提示?
答案 0 :(得分:10)
在代码中使用print语句打印出变量/返回值的值等。如果您使用的是gawk,则可以使用-W dump-variables[=file]
选项将变量转储到文件中进行调试。
此外,选项-W lint[=value]
可能会引起关注。有关更多信息,请参阅文档其他版本的AWK,例如pgawk,提供了分析。
A page of关于调试的sed / awk书供您参考。
答案 1 :(得分:5)
现在有这个页面:Debugger Invocation - The GNU Awk User's Guide;提到像:
这样的调用 $ gawk -D -f getopt.awk -f join.awk -f uniq.awk inputfile
...否则应该产生一个shell接口;但不幸的是,我的GNU Awk 3.1.7上没有--debug
/ -D
开关。
Arnold Robbins在2010年2月写道。
分发在http://www.skeeve.com/gawk/gawk-3.1.7-bc-d.tar.gz ...发送 这个版本与3.1.7相同,但是有一个新的执行引擎和一个名为gawk的调试版本,相当富有想象力,“dgawk”......
然后:
GNU Awk: This is Not Your Father's Awk | Dr Dobb's
使用与GDB(GNU调试器)类似的调试器进行awk级调试。第一次使用gawk 4.0(2011年发布)作为单独的可执行文件,但它现在内置于常规gawk可执行文件。
这就解释了为什么我没有它......从源头构建的时间,我猜:)
答案 2 :(得分:3)
你可能想尝试这个旧的宝石(最后更新2000/01/16,没有提供许可证):
- 让您逐步完成代码
- 允许您设置(条件)断点
- 让您检查变量
- 允许您修改变量
- 是用AWK编写的,因此它是可移植的