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

  • 相关阅读:
    PCL利用RANSAC自行拟合分割平面
    HDU 3062 && HDU 1824 && POJ 3678 && BZOJ 1997 2-SAT
    BZOJ 3670 && BZOJ 3620 && BZOJ 3942 KMP
    BZOJ 1500 Splay 全操作
    Manacher
    POJ 2155 2维线段树 || 2维BIT
    BZOJ 1015 并查集+离线倒序
    NOI Linux JAVA
    UVA 10407 差分思想的运用
    BZOJ 1969 树链剖分+Tarjan缩点
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/12895255.html
Copyright © 2011-2022 走看看