2

いくつかのセットアップを行う gdb ユーザー定義コマンドがあり、単純なジョブまたは複雑なジョブを実行できます。コマンドは、次の基本構造に従います。

define mycmd
  # Common setup

  if ($argc == 0)
    # Some simple thing a few lines long
    ## What goes here so I exit mycmd?
  end

  # A lot of lines doing a complex thing
end

mycmd をすぐに終了するために、## 行の代わりに配置できる C のようなリターンはありますか? return、exit、quit、stop、loop_break コマンドは、私が望んでいたことをしません。

4

2 に答える 2

2

Cのようなリターンはありますか

ないようです。考えられる解決策は、

define mycmd
   ... common setup
   if (condition)
     ... do simple thing
   else
     mycmd_helper
   end
end

define mycmd_helper
   ... do complex thing
end
于 2012-09-27T13:59:18.367 に答える
1

これは主な用途ではありませんが、loop_break を使用できます。

define mycmd
  # Common setup
  set $i=1
  while $i == 1
    set $i=0
    if ($argc == 0)
      # Some simple thing a few lines long
      ## What goes here so I exit mycmd?
      loop_break
    end

    # A lot of lines doing a complex thing
  end
end
于 2013-02-27T10:37:29.557 に答える