diff options
author | Sverker Eriksson <sverker@erlang.org> | 2023-01-27 14:01:51 +0100 |
---|---|---|
committer | Sverker Eriksson <sverker@erlang.org> | 2023-01-27 14:01:51 +0100 |
commit | a6d103cdaa7dff63e2af058b717d51bb599793e3 (patch) | |
tree | 769e28ff6a3e60cbeb880c40ce3a05349364e20a /erts/etc | |
parent | b6bb1c9ae9467117cc40d0dc91cdb9b3ec9e96ca (diff) | |
parent | f06b88878f027b34b944be626678d58625ac5517 (diff) | |
download | erlang-a6d103cdaa7dff63e2af058b717d51bb599793e3.tar.gz |
Merge branch 'sverker/25/fix-cerl-core' into maint
Diffstat (limited to 'erts/etc')
-rw-r--r-- | erts/etc/unix/cerl.src | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/erts/etc/unix/cerl.src b/erts/etc/unix/cerl.src index 10edb3debc..12b742883f 100644 --- a/erts/etc/unix/cerl.src +++ b/erts/etc/unix/cerl.src @@ -472,18 +472,15 @@ elif [ "x$GDB" = "xegdb" ]; then case "x$core" in x) # Get emu args to use from erlexec... - beam_args=`$EXEC -emu_args_exit $xargs ${1+"$@"} | tr '\n' ' '` - gdbcmd="(insert-string \"set args $beam_args\") \ - (comint-send-input)" + beam_args=`$EXEC -emu_args_exit $xargs ${1+"$@"} | sed 's/"/\\\\"/g' | tr '\n' ' '` + gdbcmd="set args $beam_args" ;; x/*) - gdbcmd="(insert-string \"core ${core}\") (comint-send-input)" + gdbcmd="core $core" GDBBP= ;; *) - dir=`pwd` - gdbcmd="(insert-string \"core ${dir}/${core}\") \ - (comint-send-input)" + gdbcmd="core `pwd`/$core" GDBBP= ;; esac @@ -502,11 +499,13 @@ elif [ "x$GDB" = "xegdb" ]; then GDBARGS="--annotate=1 " fi fi - gdbcmd="$gdbcmd $GDBBP \ - (insert-string \"source $ROOTDIR/erts/etc/unix/etp-commands\") \ - (comint-send-input)" # Fire up gdb in emacs... - exec $EMACS --eval "(progn (gdb \"gdb $GDBARGS$EMU_NAME\") $gdbcmd)" + cmdfile="/tmp/.cerlgdb.$$" + echo "file $BINDIR/$EMU_NAME" > $cmdfile + echo "$gdbcmd" >> $cmdfile + echo "source $ROOTDIR/erts/etc/unix/etp-commands" >> $cmdfile + EVAL="(progn (gdb \"gdb $GDBARGS -x $cmdfile\"))" + exec $EMACS --eval "$EVAL" elif [ "x$GDB" = "xdump" ]; then cmdfile="/tmp/.cerlgdb.$$" ## Examine the result of "file $core" in case it is not the emulator |