• linux中gdb的可视化调试


      今天get到一个在linux下gdb调试程序的技巧和大家分享一下!平时我们利用gcc进行编程,进行程序调试时,观察程序的跳转等不是这么直观。都是入下的界面!

      但是如果我们在编译连接时上加了-g命令生成的可执行文件,用gdb -tui -q p2psrv(要debug的命令),就可以进入一个类似的可视化的调试界面。

      之后相信一些基本的gdb操作大家都应该清楚。

    backtrace:查看各级函数调用及参数

    finish:连续运行到当前函数返回为止,然后停下来等待命令

    frame(或f) 帧编号 :选择栈帧

    info(或i) locals :查看当前栈帧局部变量的值

    list(或l):列出源代码,接着上次的位置往下列,每次列10行

    list 函数名: 列出某函数的源代码

    next(n):执行下一行语句

    print(或p):打印表达式的值,通过表达式可以修改变量的值或者调用函数

    quit(或q):退出gdb调试环境

    set var:修改变量的值

    start:开始执行程序,停在main函数第一句前面等待命令

    step;执行下一句语句,如果有函数调用则进入函数中

      大家可以赶快去试一下吧!  

    命令描述
    backtrace(或bt) 查看各级函数调用及参数
    finish 连续运行到当前函数返回为止,然后停下来等待命令
    frame(或f) 帧编号 选择栈帧
    info(或i) locals 查看当前栈帧局部变量的值
    list(或l) 列出源代码,接着上次的位置往下列,每次列10行
    list 行号 列出从第几行开始的源代码
    list 函数名 列出某个函数的源代码
    next(或n) 执行下一行语句
    print(或p) 打印表达式的值,通过表达式可以修改变量的值或者调用函数
    quit(或q) 退出gdb调试环境
    set var 修改变量的值
    start 开始执行程序,停在main函数第一行语句前面等待命令
    step(或s) 执行下一行语句,如果有函数调用则进入到函数中
  • 相关阅读:
    UOS桌面专业版:修改应用图标和应用名称
    unittest使用的时候,print的东西可以在html详情里面显示,但是又想打印在日志中,那就修logging模块中的info方法,使用装饰器
    默认端口
    HTTP HTTPS等协议默认端口
    js特殊字符转义
    vue常用rules校验规则
    HTML中的span标记和div标记
    JS === 与 ==
    Overview of Programming Concepts
    12月9日
  • 原文地址:https://www.cnblogs.com/wannable/p/6048894.html
Copyright © 2020-2023  润新知