1:- module(os_apps_debugging, []).    2
    3:- use_module(apps, []).    4
    5:- multifile user:do/1.    6:- public user:do/1.    7
    8user:do(debug(os_apps)) :-
    9    user:do(nodebug(os_apps)),
   10    debug(os_apps),
   11    listen(os:app_started(App), started(App)),
   12    listen(os:app_stopped(App, Status), stopped(App, Status)),
   13    listen(os:app_decoded(App, Codes), decoded(App, Codes)).
   14
   15user:do(nodebug(os_apps)) :-
   16    context_module(Module),
   17    unlisten(Module),
   18    nodebug(os_apps).
   19
   20started(App) :-
   21    debug(os_apps, 'started ~p', [App]).
   22
   23stopped(App, Status) :-
   24    debug(os_apps, 'stopped ~p ~p', [App, Status]).
   25
   26decoded(App, Codes) :-
   27    Codes =.. [Name, Codes0],
   28    debug(os_apps, 'decoded ~p ~s ~s', [App, Name, Codes0])