From 07dda6914ac1354b53da50d1b43cf439102c1bcc Mon Sep 17 00:00:00 2001 From: johannst Date: Sat, 9 Nov 2024 10:42:31 +0000 Subject: deploy: 3d599bcbf6771def1076c3e9561bc748956dfc94 --- debug/gdb.html | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'debug/gdb.html') diff --git a/debug/gdb.html b/debug/gdb.html index b73a03d..bac580a 100644 --- a/debug/gdb.html +++ b/debug/gdb.html @@ -386,11 +386,18 @@ thread name <name> on: Truncate log file on each run. off: Append to logfile (default). + set trace-commands <on | off> + on: Echo comamands executed (good with logging). + off: Do not echo commands executedt (default). + set history filename <fname> Change file where to save and restore command history to and from. set history <on | off> Enable or disable saving of command history. + + set exec-wrapper <cli> + Set an exec wrapper which sets up the env and execs the debugee.

Logging options should be configured before logging is turned on.

@@ -600,6 +607,34 @@ executed. To workaround that bug one can create a wrapper function which calls command handler end + +

Launch debuggee through an exec wrapper

+
> cat test.c
+#include <stdio.h>
+#include <stdlib.h>
+
+int main() {
+  const char* env = getenv("MOOSE");
+  printf("$MOOSE=%s\n", env ? env : "<nullptr>");
+}
+
+> cat test.sh
+#!/bin/bash
+
+echo "running test.sh wapper"
+export MOOSE=moose
+exec ./test
+
+> gcc -g -o test test.c
+
+> gdb test
+(gdb) r
+$MOOSE=<nullptr>
+
+(gdb) set exec-wrapper bash test.sh
+(gdb) r
+running test.sh wapper
+$MOOSE=moose
 
-- cgit v1.2.3