afb-debug: add features for debugging
authorJosé Bollo <jose.bollo@iot.bzh>
Wed, 5 Jul 2017 11:39:27 +0000 (13:39 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Wed, 5 Jul 2017 13:41:24 +0000 (15:41 +0200)
commit846e952260278225b79de4062fff1f8f2145a544
tree78634333f934aba955808199b382d33c665f9fa8
parent71762eeb3fc6e89ee17be512d295d305b2664142
afb-debug: add features for debugging

When compiled with -DAGL_DEVEL or -DAFB_INSERT_DEBUG_FEATURES
afb-daemon interprets the environment variables
AFB_DEBUG_BREAK and AFB_DEBUG_WAIT.

The environment variable AFB_DEBUG_BREAK make afb-daemon emit
a break (SIGINT) that should be treated by the debugger.

The environment variable AFB_DEBUG_WAIT make afb-daemon wait
for a break (SIGINT) to continue. This can be used to attach
a debugger.

The content of the variables AFB_DEBUG_BREAK and AFB_DEBUG_WAIT
is a list of key names of the point where the action should
occur. The list is separated by spaces or commas ','.

Example:

 AFB_DEBUG_WAIT=main-entry,start-load

The defined points are: main-entry, main-args, main-start,
start-entry, start-load, start-start, start-http, start-call,
start-exec.

Here some of their characteristic:
 - main-entry: at the beginning befaore any other instruction
 - main-args: after parsing arguments
 - main-start: after daemonisation before starting
 - start-entry: at start entry
 - start-load: before loading bindings after initialisation of afb-daemon
 - start-start: after loading bindings befaore starting it
 - start-call: after init before starting HTTP server
 - start-http: after http server, before calling startup calls
 - start-exec: before running the --exec command

Change-Id: Id405e749c590fb95f32e30a7d37c30b6412cf0a5
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/CMakeLists.txt
src/afb-debug.c [new file with mode: 0644]
src/afb-debug.h [new file with mode: 0644]
src/main.c