summaryrefslogtreecommitdiffstats
path: root/gdb/gdb-on-target.ini.in
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdb-on-target.ini.in')
-rw-r--r--gdb/gdb-on-target.ini.in29
1 files changed, 29 insertions, 0 deletions
diff --git a/gdb/gdb-on-target.ini.in b/gdb/gdb-on-target.ini.in
new file mode 100644
index 0000000..0478e90
--- /dev/null
+++ b/gdb/gdb-on-target.ini.in
@@ -0,0 +1,29 @@
+# gdb-remote.init file for IDE
+# Object: allow to use standard gdb to remote debug a target
+# Usage: remote-target-populate update script under ./build directory
+# Author: Fulup Ar Foll (IoT.bzh)
+# Reference: https://blog.flameeyes.eu/2010/02/remote-debugging-with-gdb-part-2-gdb/
+
+# Start gdbserver on target and connect through SSH link
+target remote | ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null @RSYNC_TARGET@ gdbserver - afb-daemon --port=@AFB_REMPORT@ --workdir=@RSYNC_PREFIX@/@PROJECT_NAME@ --roothttp=./htdocs --ldpath=./lib --verbose --token=@AFB_TOKEN@
+
+# Disable auto load of libraries to improved perf
+set auto-solib-add off
+
+# Define path for project libraries
+set solib-search-path $ENV{PROJECT_DIR}/build/@PKGOUT_DIR@/lib
+
+# Path substitution for source file names
+set substitute-path @CMAKE_CURRENT_SOURCE_DIR@ $ENV{PROJECT_DIR}
+
+# Replace run by continue (gdb use 'run' when gdbserver wants 'continue')
+define run
+continue
+end
+
+# Manually load project libraries when loaded by afb-daemon
+break execute_command
+commands
+sharedlibrary $ENV{PROJECT_DIR}/build/@PKGOUT_DIR@
+continue
+end \ No newline at end of file