|
|
第 1 帖 | |
|
|
标题: bash脚本调试器 抄来的一个实用的脚本,不过还没完全调通,有兴趣的朋友可以自己改改。
调试器的大体思路是这样: 由bashdb.sh将bashdb.pre与被调试脚本合并成一个debug版脚本临时文件,执行该debug版脚本,通过调用Bush内置的DEBUG的伪信号,来执行bashdb.fns中的相关调试函数。其它细节见脚本中的注释。
__________________
http://211.92.88.40/~lyoo/bookmark/bookmark.html |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
谢谢LYOO兄,如果文件不是很大的话,还是帖出源码来吧~~,这样看着也方便,拷贝粘贴也很便捷,
![]() |
|
|
|
|
|
|
|
第 3 帖 | |
|
|
是不是用shell的内置函数eval也可以做到呢?!我的思路是这样的:
1,等待用户输入语句命令之类的字符,以{开头,以}结尾. 2,然后交给eval函数,把你所输入的字符/语句,当做eval的[argment],shell就会执行eval [argment] 命令. 3,如果eval返回状态为真,那么再等待用户输入下个{ ...} 4,如果有错误,就显示错误信息. 这样就可以在命令行下调试短小的脚本啦~~ 思路归思路,还得多实验,还请LYOO兄指教,看是否行得通? ![]() |
|
|
|
|
|
|
|
第 4 帖 | |
|
|
eval的这个用法的确比较有趣,可来检查语法错误,但用来跟踪变量值就勉为其难了。另外用bash -n来检查语法已相当方便了。
我想调试器更重要的目的是随时跟踪变量的值(我总是用加echo的方法来跟踪)。执行完某语句后用trap function DEBUG信号产生中断,更灵活,调入的function调试函数,可扩展出更多功能,如echo显示变量当前值,加判断条件等等。 以上是我的个人理解,呵呵,不对之处请大家指正。(尤其我对eval的使用还很生疏) |
|
|
|
|
|
|
|
第 5 帖 | |
|
|
高手就是会想,把这些简单的零件组合就成了功能强大的武器了。
终于把它给读通了,学了不少东西。不过这个脚本不能跟踪进入函数,下一步想试着加上跟踪函数的功能,javalee也来一起玩一把? bashdb.sh负责生成debug档 代码:
代码:
代码:
|
|
|
|
|
|
|
|
第 6 帖 | |
|
|
小弟佩服!放在[精华区]收藏啦~~
怎么这两天总也上不来论坛!急死我啦~~ |
|
|
|
|
|
|
|
第 7 帖 | |
|
|
怎么不把附带的七个限制也一把抄上来?
我也四处找调试bash脚本的工具,可就是没找到,用上面那个的话限制起来不如用echo调试。 少的话不用bashdb也可以了,多了的话用来又说会慢十倍以上,怕怕。这里牛人那么多,怎么不给这些做后辈的用C/C++写个bash脚本的调试器? 此帖于 03-08-18 21:04 被 alphatan 编辑. |
|
|
|
|
|
|
|
第 8 帖 | |
|
|
有一个Bash调式工具在 http://bashdb.sourceforge.net/
大家可以参考下。
__________________
海纳百川,有容乃大;山高万仞,无欲则刚。 我的博客 欢迎指导 http://blog.verycd.com/zipalpha |
|
|
|
|
|