zoukankan      html  css  js  c++  java
  • 在OpenEuler中安装轻量化调试工具CGDB

    在OpenEuler中安装轻量化调试工具CGDB

    前言

    调试工具在开发过程中是必不可少的,linux系统下可以使用cgdbddd这样轻量化的调试工具,也可以安装vscode这样的IDE,但上述调试工具在 OpenEuler 系统中,都没有集成到软件源中,我们只能使用linux系统下的传统调试工具GDB,这就给我们带来诸多不便。

    CGDB简介

    CGDB is a very lightweight console frontend to the GNU debugger. 
    
    It provides a split screen interface showing the GDB session below and the program's source code above.
    
    The interface is modelled after vim's, so vim users should feel right at home using it.
    

    cgdb可以看作gdb的界面增强版,用来替代gdb的 gdb -tui。cgdb主要功能是在调试时进行代码的同步显示,这无疑增加了调试的方便性,提高了调试效率。界面类似vi,符合unix/Linux下开发人员习惯,所以如果熟悉gdb和vi,几乎可以立即使用cgdb。

    CGDB功能

    主要功能介绍:

    • 相比GDB,增加了语法加亮的代码窗口,显示在GDB窗口的上部,随GDB的调试位置代码同步显示。
    • 断点设置可视化 。
    • 在代码窗口中可使用GDB常用命令 。
    • 在代码窗口可进行代码查找,支持正则表达式 。

    CGDB在OpenEuler系统中安装

    CGDB依赖

    CGDB依赖于以下软件或环境
    Dependencies

    • sh
    • autoconf
    • automake
    • aclocal
    • autoheader
    • libtool
    • flex
    • bison
    • gcc/g++ (c11/c++11 support)

    若为OpenEuler20.03LTS 则需要安装 flex bison
    通过yum install “”来安装

    通过git安装

    git clone https://gitee.com/mirrors/CGDB.git

    ./configure --prefix=/usr/local
    由于依赖可能会出现各种报错

    出现错误:
    configure: error: CGDB requires curses.h or ncurses/curses.h to build.
    解决方案:
    yum install ncurses-devel

    出现错误:
    configure: error: Please install makeinfo before installing
    示例:

    解决方案:
    示例:

    yum install texinfo
    如果是 CentOS 8.0 及以上系统,需要先执行:
    yum config-manager --set-enabled PowerTools

    出现错误:
    configure: error: Please install help2man
    解决方案:
    yum install help2man

    出现错误:
    configure: error: CGDB requires GNU readline 5.1 or greater to link.
    If you used --with-readline instead of using the system readline library,
    make sure to set the correct readline library on the linker search path
    via LD_LIBRARY_PATH or some other facility.
    解决方案:
    yum install readline-devel

    出现错误:
    configure: error: Please install flex before installing
    解决方案:
    yum install flex

    在报错后执行

    make
    sudo make install
    

    通过wget安装

    wget http://cgdb.me/files/cgdb-0.7.0.tar.gz

     tar -zvxf cgdb-0.7.0.tar.gz
     cd cgdb-0.7.0
     ./configure –prefix=/usr/local
     make && make install 
    

    同样安装过程中出现各种依赖错误
    解决方案同上

    安装成功与使用

    输入 cgdb + 要调试的程序名即可以进行调试

    CGDB 大部分命令 与 GDB 一致
    其他详情可参考 《CGDB中文手册》

    少量补充

    • 调整代码窗口的大小
      先按esc退出输入gdb命令, 按 '-'或'='号会上下移动窗口分隔栏

    • 打开TTY窗口
      tty窗口可以显示程序输出,也可以在这里输入参数
      按shift+t会打开TTY窗口,再按shift+t关闭TTY窗口
      按esc后,再按 I 可以把焦点切到tty窗口上
      按esc后,再按 i 可以把焦点切到gdb窗口上

    • 调整TTY窗口大小
      shift+-或shift+=会放大或缩小TTY窗口

    • 按o打开浏览文件

    • F5: 发送一个run命令至GDB

    • F6: 发送一个continue命令至GDB

    • F7: 发送一个finish命令至GDB

    • F8: 发送一个next命令至GDB

    • F10: 发送一个step命令至GDB

    PS:软件源里没有的程序装起来是真的麻烦
    还是希望OpenEuler能够将更多应用进行适配和打包。





    20191331lyx
    2021/9/19

  • 相关阅读:
    Android_存储访问框架SAF
    Android_基础之分辨率
    Android_存储之SharedPreferences
    Android_存储之DataBase之Room
    Android_AndroidX简介&Junit4
    Android_四大组件之ContentProvider
    Android_四大组件之BroadcastReceiver
    Android_四大组件之Service
    Android启动过程_大致流程
    福利来袭,赶紧上车!
  • 原文地址:https://www.cnblogs.com/DKYcaiji/p/15311436.html
Copyright © 2011-2022 走看看