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:54:41 +0000 (15:54 +0200)
commit19af5428bedcac6b4de7a1ac068f49738aeb1e55
tree5b287cd7561611599c0fc7461dd00c474ae83888
parentf7d18b11a1639e1ccce3bc94875255d7aff87d4a
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