aboutsummaryrefslogtreecommitdiffstats
path: root/src/afb-debug.c
AgeCommit message (Collapse)AuthorFilesLines
2017-08-10afb-debug: expose wait/break featuresJosé Bollo1-28/+40
Change-Id: I197350dee4f85dfc167ea4ffcb54e6e3ceba89ad Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-07-31debugging: add calls to 'personality'José Bollo1-0/+6
Insertion of calls to personality for the only pupose to be able to set breakpoint at some strategic places. The chosen places are: - After the debug wait point. The intend is to allow simulation of breakpoint after attaching to the waiting process. - Before starting the bindings but after loading it. The intend is to allow loading of symbols and setting of breakpoints in the debugged binding without attaching to afb-daemon that comes without debug symbols. Change-Id: Ie3bfce0956c9844586c7a5f8bd820acb7f58772c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-07-28debug: allow break after waitJosé Bollo1-9/+10
Change-Id: I634abe531606a30ba241c85bf650589c5f0ea4ca Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-07-11debug: Create a file indicating the waiting pointJosé Bollo1-22/+49
When AFB_DEBUG_WAIT is used, the file /tmp/afb-debug-<PID> is created and contains the name of the awaiting point (without tailing new line) Signals other than SIGINT are ignored when waiting for SIGINT. This improves the cleaning up. Example: the signal SIGTERM is delayed until after removal of the debugging indication file. Change-Id: I5c896e4d9a3a098affc18d4282e260d9bb253611 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-07-05afb-debug: add features for debuggingJosé Bollo1-0/+86
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>