zoukankan      html  css  js  c++  java
  • bash shell的调试

    bash --debugger script script-arguments...

    习惯了vim,写bash shell也是用它,一般来说shell都比较精短,所以也没考虑什么提高效率的方法,今天无意中看见有人提到vim的一个编写bash的插件bash support,就下载了试试,果然强大。

    下载后按说明安装,gvim test.sh打开就看到bash菜单下强大的功能了,大部分虽然我们都用不到,至少我用不到,有的语法看都没看到过,不过可以当参考手册用。。。。

    接下来,我们需要调试功能,要安装bashdb,sudo apt-get install bashdb,然后装完后按照网上说法,bash support插件默认bash的调试设置路径和bashdb真正的安装目录不一致,建立一个链接就好了。

    sai@sai-laptop:~$ whereis bashdb
    bashdb: /usr/bin/bashdb /usr/share/bashdb /usr/share/man/man1/bashdb.1.gz

    sai@sai-laptop:~$ sudo mkdir /usr/local/share/bashdb

    sai@sai-laptop:~$ sudo ln -s /usr/share/bashdb/bashdb-main.inc /usr/local/share/bashdb/bashdb-main.inc

    然后就OK了,随便写一个shell,F9开始调试。

    一些常用的调试方法

    run 运行

    r 重启

    w看附近的代码

    . 列出当前运行到的代码

    l m n 列出m到n行之间的代码

    b n 在第n行设断点

    L 列出所有断点

    d n 删除第n行的断点

    D 删除所有断点

    W var 观察var

    n 单步执行

    s 单步执行,进入函数

    p $var显示var,观察用,用得最多的命令

    T 观察栈

    skip 跳过要执行的命令

    ret 执行完到函数返回

    finish 执行到程序结束

    a n cmd 在第n行执行cmd命令行为

    A 取消所有添加的行为

    q 退出调试

    详细的bashdb文档(英文)

     http://bashdb.sourceforge.net/bashdb.html#Invocation

    http://lug.fh-swf.de/vim/

  • 相关阅读:
    bash:express:command not found
    Jquery的window.onload实现
    元素的class和id问题
    安装angular-cli
    [(ngModel)]的实现原理
    bodyparser
    git push不用重复输入用户名和密码(解决方案)
    git提交项目到已存在的远程分支
    angular的$filter服务
    网站上如何添加显示favicon
  • 原文地址:https://www.cnblogs.com/xuxm2007/p/2218608.html
Copyright © 2011-2022 走看看