瀏覽代碼

* don't hang in TGDBInterface.WaitForProgramStop if gdb returns an error in
response to the '-exec-continue' command

git-svn-id: trunk@30029 -

nickysn 10 年之前
父節點
當前提交
d8fe799798
共有 1 個文件被更改,包括 18 次插入0 次删除
  1. 18 0
      ide/gdbmiint.pas

+ 18 - 0
ide/gdbmiint.pas

@@ -317,6 +317,12 @@ Ignore:
 
           We have: GDB.ExecAsyncOutput.Parameters['wpnum'].AsLongInt }
         i_gdb_command('-exec-continue');
+        if not GDB.ResultRecord.Success then
+        begin
+          DebuggerScreen;
+          got_error := True;
+          exit;
+        end;
         goto Ignore;
       end;
     'signal-received':
@@ -327,6 +333,12 @@ Ignore:
                GDB.ExecAsyncOutput.PArameters['signal-meaning'].AsString (e.g. 'Terminated')
           }
         i_gdb_command('-exec-continue');
+        if not GDB.ResultRecord.Success then
+        begin
+          DebuggerScreen;
+          got_error := True;
+          exit;
+        end;
         goto Ignore;
       end;
     'breakpoint-hit',
@@ -363,6 +375,12 @@ Ignore:
         begin
           UserScreen;
           i_gdb_command('-exec-continue');
+          if not GDB.ResultRecord.Success then
+          begin
+            DebuggerScreen;
+            got_error := True;
+            exit;
+          end;
           goto Ignore;
         end;
       end;