zoukankan      html  css  js  c++  java
  • gdb 指定不需要调试的文件(file.c, file.cc, file.h, file.cpp等),函数

    使用skip命令,可以指定不需要调试的文件或函数

    比如指定了函数foo,当执行到调用函数foo的地方,即使使用命令s,也不会进入到函数foo了。

    skip有下面选项

    • -file file

    • -fi file

      指定不需要调试的源文件

    • -gfile file-glob-pattern

    • -gfi file-glob-pattern

      指定不需要调试的源文件,可以使用glob-style pattern 。man 7 glob

    • -function linespec

    • -fu linespec

      Functions named by linespec or the function containing the line named by linespec will be skipped over when stepping. See Specify Location.

    • -rfunction regexp

    • -rfu regexp

      Functions whose name matches regexp will be skipped over when stepping.

      This form is useful for complex function names. For example, there is generally no need to step into C++ std::string constructors or destructors. Plus with C++ templates it can be hard to write out the full name of the function, and often it doesn’t matter what the template arguments are. Specifying the function to be skipped as a regular expression makes this easier.

      (gdb) skip -rfu ^std::(allocator|basic_string)<.*>::~?1 *(
      

      If you want to skip every templated C++ constructor and destructor in the std namespace you can do:

      (gdb) skip -rfu ^std::([a-zA-z0-9_]+)<.*>::~?1 *(
      

    以上的选项在gdb 7.7.1里是没有的。以下的选项在7.7.1里有

    • skip function [linespec]
    • skip file [filename]

    查看skip命令

    info skip

    skip delete [range]

    Delete the specified skip(s). If range is not specified, delete all skips.

    skip enable [range]

    Enable the specified skip(s). If range is not specified, enable all skips.

    skip disable [range]

    Disable the specified skip(s). If range is not specified, disable all skips.

    set debug skip [on|off]

    Set whether to print the debug output about skipping files and functions.

    show debug skip

    Show whether the debug output about skipping files and functions is printed.

    c/c++ 学习互助QQ群:877684253

    本人微信:xiaoshitou5854

  • 相关阅读:
    Commonjs规范 浏览器运行
    node Commonjs规范
    Node 支持ES6 modules
    node only 对象属性白名单
    babel 关键配置
    Linux测试硬盘读性能的常用工具-hdparm
    linux下/etc/profile、/etc/bashrc、~/.bashrc 和~/.bash_profile文件的区别
    storcli64和smartctl定位硬盘的故障信息
    数据库迁移的几种方式
    linux中截取字段与#、$区别
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/12895255.html
Copyright © 2011-2022 走看看