Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMircea Gherzan2019-10-17 14:23:42 -0400
committerMircea Gherzan2019-10-17 14:38:28 -0400
commit8b1c35c37adcbe986508c41bce51c557c286f34d (patch)
tree72c5d5475616d7748fe13b9fc40254a756376882
parent78de17f7badfc5dde77cd2f52b069e5b62c9f774 (diff)
downloadorg.eclipse.tcf.agent-8b1c35c37adcbe986508c41bce51c557c286f34d.tar.gz
org.eclipse.tcf.agent-8b1c35c37adcbe986508c41bce51c557c286f34d.tar.xz
org.eclipse.tcf.agent-8b1c35c37adcbe986508c41bce51c557c286f34d.zip
TCF Server: allow a local StackTrace service
This is to support the use-case where the stack unwinding is done in the value add. Signed-off-by: Mircea Gherzan <mircea.gherzan@intel.com>
-rw-r--r--server/tcf/main/server.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/server/tcf/main/server.c b/server/tcf/main/server.c
index 9b3996e8..ff2f2f6c 100644
--- a/server/tcf/main/server.c
+++ b/server/tcf/main/server.c
@@ -31,6 +31,7 @@
#include <tcf/services/pathmap.h>
#include <tcf/services/disassembly.h>
#include <tcf/services/context-proxy.h>
+#include <tcf/services/stacktrace.h>
#include <tcf/main/server.h>
#include <tcf/main/server_hooks.h>
@@ -94,6 +95,9 @@ static void channel_redirection_listener(Channel * host, Channel * target) {
#if SERVICE_Disassembly
int service_da = 0;
#endif
+#if SERVICE_StackTrace
+ int service_st = 0;
+#endif
#if ENABLE_DebugContext && ENABLE_ContextProxy
int forward_pm = 0;
#endif
@@ -117,6 +121,9 @@ static void channel_redirection_listener(Channel * host, Channel * target) {
#if SERVICE_Disassembly
if (strcmp(nm, "Disassembly") == 0) service_da = 1;
#endif
+#if SERVICE_StackTrace
+ if (strcmp(nm, "StackTrace") == 0) service_st = 1;
+#endif
TARGET_SERVICE_CHECK_HOOK;
}
#if SERVICE_PathMap
@@ -134,6 +141,10 @@ static void channel_redirection_listener(Channel * host, Channel * target) {
#if SERVICE_Disassembly
if (!service_da) ini_disassembly_service(host->protocol);
#endif
+#if SERVICE_StackTrace
+ if (!service_st) ini_stack_trace_service(host->protocol,
+ EXT(host)->serv->bcg);
+#endif
#if SERVICE_Expressions
ini_expressions_service(host->protocol);
#endif

Back to the top