diff options
Diffstat (limited to 'bin/extra/gdbcore')
-rwxr-xr-x | bin/extra/gdbcore | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/bin/extra/gdbcore b/bin/extra/gdbcore index 667db3e..6daafa8 100755 --- a/bin/extra/gdbcore +++ b/bin/extra/gdbcore @@ -1,6 +1,7 @@ #!/bin/sh -# Open the latest core file for program with gdb +# Open the latest core file for program $1 with gdb +# If no program supplied then use the most recent one # RETURN VALUES # 0 - success # 1 - if the program was not found or not executable @@ -8,6 +9,8 @@ # 3 - zstd failed # 4 - wrong usage +cache="$HOME/.cache/gdbcore_prog" + if [ "$#" -lt 1 ]; then >&2 printf 'usage: gdbcore [-r] <program>\n' fi @@ -17,7 +20,13 @@ if [ "$1" = "-r" ]; then shift fi -prog="$1" +if [ "$1" ]; then + prog="$1" + printf '%s\n' "$prog" > "$cache" +else + prog="$(cat "$cache")" +fi + if [ ! -x "$prog" ]; then prog="$(which "$prog" 2>/dev/null)" [ -x "$prog" ] || exit 1 |