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

  • 相关阅读:
    Python3学习笔记27-ConfigParser模块
    Python3学习笔记26-unittest模块
    HTML学习笔记09-列表
    HTML学习笔记08-表格
    [hdu1402]A * B Problem Plus(FFT模板题)
    [bzoj2179]FFT快速傅立叶
    [bzoj3884]上帝与集合的正确用法
    [ural1132]Square Root(cipolla算法)
    MD5算法的c++实现
    DES算法的c++实现
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/12895255.html
Copyright © 2011-2022 走看看