代码之家  ›  专栏  ›  技术社区  ›  SRobertJames

gdb:使用if…else定义具有多个参数的函数

gdb
  •  0
  • SRobertJames  · 技术社区  · 4 年前

    如何定义带有可选参数的gdb便利函数?我在下面尝试过,但没有成功:

    (gdb) define v
    Type commands for definition of "v".
    End with a line saying just "end".
    >if $argc == 1
     >echo 1
     >else if $argc == 2
     >echo 2
     >else
     >echo neither
     >end
    >end
    (gdb) v
    neither(gdb) v 1
    1Undefined command: "else".  Try "help".
    (gdb) v 2
    1Undefined command: "else".  Try "help".
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   Employed Russian    4 年前

    我在下面尝试过,但没有成功:

    它不起作用,因为没有 else 在GDB脚本语言中。

    您可以使用以下工具解决此问题:

    define v
      if $argc == 1
        echo 1
      end
      if $argc == 2
        echo 2
      end
      if $argc < 1 || 2 < $argc 
        echo neither
      end
    end
    

    但你可能会得到更好的结果 deferring to the embedded Python 。

    推荐文章