OSDN Git Service

Add more checks for no stack frame.
authorAndrew Cagney <cagney@redhat.com>
Tue, 29 Feb 2000 07:17:15 +0000 (07:17 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 29 Feb 2000 07:17:15 +0000 (07:17 +0000)
gdb/ChangeLog
gdb/infrun.c
gdb/stack.c

index 493bd7d..4c4ecd5 100644 (file)
@@ -1,3 +1,9 @@
+Tue Feb 29 17:33:49 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       From Wed, 23 Feb 2000 Fernando Nasser <fnasser@redhat.com>:
+       * stack.c (backtrace_command_1), infrun.c (normal_stop): Check
+       that the target's stack was valid.
+
 Tue Feb 29 15:14:56 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        From 2000-02-22 Stephane Carrez <stcarrez@worldnet.fr>:
index 2a3a1c8..96a659e 100644 (file)
@@ -3429,7 +3429,8 @@ The same program may be running in another process.\n");
          bpstat_print() contains the logic deciding in detail
          what to print, based on the event(s) that just occurred. */
 
-      if (stop_print_frame)
+      if (stop_print_frame
+         && selected_frame)
        {
          int bpstat_ret;
          int source_flag;
index c586f45..8684b7b 100644 (file)
@@ -1111,6 +1111,12 @@ backtrace_command_1 (count_exp, show_locals, from_tty)
      printing.  Second, it must set the variable count to the number
      of frames which we should print, or -1 if all of them.  */
   trailing = get_current_frame ();
+
+  /* The target can be in a state where there is no valid frames
+     (e.g., just connected). */
+  if (trailing == NULL)
+    error ("No stack.");
+
   trailing_level = 0;
   if (count_exp)
     {