anchor.diff:  
   %%%----------------------------------------------------------------
   init(_) ->
  +    new_table(),
       {ok, #data{}}.
  +
  +
  +new_table() ->
  +    try 
  +        ets:new(?MODULE, [public, named_table]),
  +        ok
  +    catch
  +        exit:badarg ->
  +            ok
  +    end.
  +
  +
  +get_proc_stack(Pid) when is_pid(Pid) ->
  +    try ets:lookup_element(?MODULE, Pid, 2)
  +    catch
  +        error:badarg ->
  +            %% Non-existing item
  +            new_proc(Pid),
  +            ets:insert(?MODULE, {Pid,[]}),
  +            []
  +    end.
  +
  +
  +put_proc_stack(Pid, Data) when is_pid(Pid),
  +                               is_list(Data) ->
  +    ets:insert(?MODULE, {Pid,Data}).
  +
  +
  +new_proc(Pid) when is_pid(Pid) ->
  +    gen_server:cast(?SERVER, {new_proc,Pid}).
  +
  +ets_delete(Tab, Key) ->
  +    catch ets:delete(Tab, Key).
   
   %%%----------------------------------------------------------------
   handle_call({switch,on,Types}, _From, D) ->
  
positive.code: 
  -type trace_point() :: atom().
  -type trace_points() :: [trace_point()].
  
  -callback ssh_dbg_trace_points() -> trace_points().
  -callback ssh_dbg_flags(trace_point()) -> [atom()].
  -callback ssh_dbg_on(trace_point() | trace_points()) -> term().
  -callback ssh_dbg_off(trace_point() | trace_points()) -> term().
  -callback ssh_dbg_format(trace_point(), term()) -> iolist() | skip.
  
  %%%================================================================
  
  
negative.code:     {reply, {error,{unknown_call,C}}, D}.
      
  
  handle_cast({new_proc,Pid}, D) ->
      monitor(process, Pid),
      {noreply, D};
  
  handle_cast(C, D) ->
      io:format('*** Unknown cast: ~p~n',[C]),
      {noreply, D}.
      
  
  handle_info({'DOWN', _MonitorRef, process, Pid, _Info}, D) ->
      %% Universal real-time synchronization (there might be dbg msgs in the queue to the tracer):
      timer:apply_after(20000, ?MODULE, ets_delete, [?MODULE, Pid]),
      {noreply, D};
  
  handle_info(C, D) ->
      io:format('*** Unknown info: ~p~n',[C]),
      {noreply, D}.
  