forked from Imagelibrary/binutils-gdb
gdb/
* gdb_gcore.sh (tmpfile): Remove the variable, its initialization, cleanup and generating of gdb script to it. (gdb): Use redirection from /dev/null. Use --nx. Turn off pagination and terminal size. Convert $tmpfile to a series of -ex-es.
This commit is contained in:
@@ -45,32 +45,17 @@ then
|
||||
shift; shift
|
||||
fi
|
||||
|
||||
# Create a temporary file. Use mktemp if available, but cope if it is not.
|
||||
tmpfile=`mktemp ${name}.XXXXXX 2>/dev/null` || {
|
||||
tmpfile=${name}.$$
|
||||
if test -e $tmpfile; then
|
||||
echo "Could not create temporary file $tmpfile"
|
||||
exit 1
|
||||
fi
|
||||
touch $tmpfile
|
||||
}
|
||||
trap "rm -f $tmpfile" EXIT
|
||||
|
||||
# Initialise return code.
|
||||
rc=0
|
||||
|
||||
# Loop through pids
|
||||
for pid in $*
|
||||
do
|
||||
# Write gdb script for pid $pid.
|
||||
cat >>$tmpfile <<EOF
|
||||
attach $pid
|
||||
gcore $name.$pid
|
||||
detach
|
||||
quit
|
||||
EOF
|
||||
|
||||
gdb -x $tmpfile -batch
|
||||
# `</dev/null' to avoid touching interactive terminal if it is
|
||||
# available but not accessible as GDB would get stopped on SIGTTIN.
|
||||
gdb </dev/null --nx --batch \
|
||||
-ex "set pagination off" -ex "set height 0" -ex "set width 0" \
|
||||
-ex "attach $pid" -ex "gcore $name.$pid" -ex detach -ex quit
|
||||
|
||||
if [ -r $name.$pid ] ; then
|
||||
rc=0
|
||||
|
||||
Reference in New Issue
Block a user