[patch] print a more useful error message for "gdb core"

Doug Evans dje@google.com
Wed Jan 20 23:56:00 GMT 2010


Hi.

If the user accidentally does "gdb core" gdb currently prints:

"/foo/bar": not in executable format: File format not recognized

This patch prints a more useful error message for this particular case:

"/foo/bar" is a core file.
Please specify an executable to debug.

I will check this in in a few days if there are no objections.

2010-01-20  Doug Evans  <dje@google.com>

	* exec.c (exec_file_attach): Print a more useful error message if the
	user did "gdb core".

Index: exec.c
===================================================================
RCS file: /cvs/src/src/gdb/exec.c,v
retrieving revision 1.95
diff -u -p -r1.95 exec.c
--- exec.c	19 Jan 2010 09:47:47 -0000	1.95
+++ exec.c	20 Jan 2010 23:50:10 -0000
@@ -253,6 +253,13 @@ exec_file_attach (char *filename, int fr
       scratch_pathname = xstrdup (scratch_pathname);
       cleanups = make_cleanup (xfree, scratch_pathname);
 
+      /* If the user accidentally did "gdb core", print a more useful
+	 error message.  */
+      if (bfd_check_format (exec_bfd, bfd_core))
+	error (_("\"%s\" is a core file.\n"
+		 "Please specify an executable to debug."),
+		 scratch_pathname);
+
       if (!bfd_check_format (exec_bfd, bfd_object))
 	{
 	  /* Make sure to close exec_bfd, or else "run" might try to use



More information about the Gdb-patches mailing list