summaryrefslogtreecommitdiffstats
path: root/conf.d/templates/gdb/gdb-on-target.in
diff options
context:
space:
mode:
Diffstat (limited to 'conf.d/templates/gdb/gdb-on-target.in')
-rw-r--r--conf.d/templates/gdb/gdb-on-target.in9
1 files changed, 5 insertions, 4 deletions
diff --git a/conf.d/templates/gdb/gdb-on-target.in b/conf.d/templates/gdb/gdb-on-target.in
index 4426dbe..934668b 100644
--- a/conf.d/templates/gdb/gdb-on-target.in
+++ b/conf.d/templates/gdb/gdb-on-target.in
@@ -4,11 +4,12 @@
# Author: Fulup Ar Foll (IoT.bzh)
# Reference: https://blog.flameeyes.eu/2010/02/remote-debugging-with-gdb-part-2-gdb/
-# move to package dir to read binding symbols
-cd @CMAKE_CURRENT_BINARY_DIR@/@PROJECT_PKG_DIR@
+# Start gdbserver on target; make sure that gdbserver and binder run in the same directory to access binding symbols, finally connect through SSH link
+target remote | ssh @RSYNC_TARGET@ gdbserver - afb-daemon --port=@AFB_REMPORT@ --workdir=@RSYNC_PREFIX@/@PROJECT_NAME@ --roothttp=./htdocs --ldpath=./lib --verbose --token=@AFB_TOKEN@
-# Start gdbserver on target and connect through SSH link
-target remote | ssh @RSYNC_TARGET@ gdbserver - afb-daemon --port=@AFB_REMPORT@ --workdir=@RSYNC_PREFIX@/@PROJECT_NAME@ --roothttp=./htdocs --ldpath=./lib --verbose --token=@AFB_TOKEN@
+# try to load binding's symbols locally
+set auto-solib-add on
+set solib-search-path @CMAKE_CURRENT_BINARY_DIR@/@PROJECT_PKG_DIR@/lib
# Replace run by continue (gdb use 'run' when gdbserver wants 'continue')
define run