zoukankan      html  css  js  c++  java
  • Linux gdb设置和管理断点

    1.以行号设置断点

       (gdb)break 7

       (gdb)run

    2.以函数名设置断点

    (gdb)break function_name

    (gdb)run

    3.以条件表达式设置断点

    (gdb)break 7 if i==99

    (gdb)run

    4.另一种,以表达式设置断点的方法

       (gdb)watch i==99

       这个命令必须在变量i被定义之后才会成功运行,为了解决这个问题,首先在变量 i 被定义的后一行设置中断,然后使用run命令运行程序,程序暂停后就可以使用watch i==99设置断点了。

    ##############################

    单步执行

    (gdb)next

    #############################

    查看当前设置的断点信息

    (gdb)info breakpoints


    ###############################

    使中断失效(断点仍然存在)或有效

    (gdb)info breakpoints

    (gdb)disable b_id           //使中断失效,b_id 为中断编号

    (gdb)info breakpoints

    (gdb)enable b_id         //使中断有效,b_id 为中断编号

    (gdb)info breakpoints

    ##############################

    删除断点

    clear : 删除程序中所有的断点

    clear 行号 : 删除这行的断点

    clear 函数名 : 删除该函数的断点

    delete b_id1 b_id2 ... : 删除指定编号的断点

    ##################################

    查看和设置变量值

    1.print命令

        print 变量或表达式:打印变量或表达式当前的值。

        print 变量=值:对变量进行赋值。

        print 表达式@要打印的值的个数n:打印以表达式开始的n个数

    2.whatis命令:显示某个变量或表达式值的数据类型

       whatis 变量或表达式

       例子:

                 

    3.set命令:给变量赋值

            set variable 变量=值

           【提示】set命令还可以针对远程调试进行设置,可以用来设置gdb一行的字符数等。

  • 相关阅读:
    什么是响应式设计?响应式设计的基本原理是什么?响应式设计的优缺点?
    你了解的浏览器兼容问题有哪些?
    简述网页中常见图片格式及特点?
    标签应该如何合理嵌套?
    你能想出几种方法让元素在页面中消失?
    为什么要初始化 CSS 样式?哪些样式需要初始化?
    文本溢出显示省略号如何实现?
    vue 几个典型的坑
    vue指令 v-if与 v-show的区别
    vuex的demo
  • 原文地址:https://www.cnblogs.com/rosesmall/p/2445527.html
Copyright © 2011-2022 走看看