Browse Source

* save stop_break_number and restore at end of gdb_command method
+ add support for DEBUG_FILE_DIRECTORY

git-svn-id: trunk@8648 -

pierre 18 năm trước cách đây
mục cha
commit
650dc4468b
1 tập tin đã thay đổi với 15 bổ sung0 xóa
  1. 15 0
      packages/base/gdbint/gdbint.pp

+ 15 - 0
packages/base/gdbint/gdbint.pp

@@ -71,6 +71,7 @@ interface
   {$define GDB_HAS_DB_COMMANDS}
   {$define GDB_NEEDS_NO_ERROR_INIT}
   {$define GDB_USES_EXPAT_LIB}
+  {$define GDB_HAS_DEBUG_FILE_DIRECTORY}
 {$endif def GDB_V605}
 
 {$ifdef GDB_V6}
@@ -2175,6 +2176,7 @@ end;
 procedure tgdbinterface.gdb_command(const s:string);
 var
   command          : array[0..256] of char;
+  prev_stop_breakpoint_number,
   mask : longint;
   s2 : string;
   old_quit_return,
@@ -2190,6 +2192,11 @@ begin
   old_error_return:=error_return;
   gdb_error:=0;
   got_error:=false;
+  if command_level=1 then
+    prev_stop_breakpoint_number:=0
+  else
+    prev_stop_breakpoint_number:=stop_breakpoint_number;
+
   stop_breakpoint_number:=0;
   { Trap quit commands }
   s2:=s;
@@ -2237,6 +2244,7 @@ begin
   quit_return:=old_quit_return;
   error_return:=old_error_return;
   dec(command_level);
+  stop_breakpoint_number:=prev_stop_breakpoint_number;
   SetFPUState(control);
 end;
 
@@ -2562,12 +2570,19 @@ var gdb_sysroot  : pchar; cvar;public;
     return_child_result_value : longint;cvar;public;
     batch_silent : longbool;cvar;public;
 {$endif}
+{$ifdef GDB_HAS_DEBUG_FILE_DIRECTORY}
+var
+  debug_file_directory : pchar; cvar; external;
+{$endif GDB_HAS_DEBUG_FILE_DIRECTORY}
 
 begin
 {$ifdef GDB_HAS_SYSROOT}
   gdb_sysrootc := #0;
   gdb_sysroot := @gdb_sysrootc;
 {$endif}
+{$ifdef GDB_HAS_DEBUG_FILE_DIRECTORY}
+  debug_file_directory := '/usr/local/lib';
+{$endif GDB_HAS_DEBUG_FILE_DIRECTORY}
   gdb_stderr:=nil;
   gdb_stdout:=nil;
   InitLibGDB;