Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

関数の中だけハンドラを有効にする (in function)

たとえば、


<dbx> trace step -in foo

は、次のようなスクリプトと等価です。


    # create handler in disabled state
    when step -disable { echo Stepped to $line; }
    t=$newhandlerid    # remember handler id
    when in foo {
    # when entered foo enable the trace
    handler -enable "$t"
    # arrange so that upon returning from foo,
    # the trace is disabled.
    when returns { handler -disable "$t"; };
    }