summaryrefslogtreecommitdiff
path: root/packages/gdbint/src
diff options
context:
space:
mode:
authornickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-02-27 00:34:16 +0000
committernickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-02-27 00:34:16 +0000
commit92bfd472c6dc68a5fb3720167042019995e1beff (patch)
treee92a4cbd4e76c9bd93ad3395fb8d16b65441cae0 /packages/gdbint/src
parent161364de7af954837d88bd71524a2849862098e6 (diff)
downloadfpc-92bfd472c6dc68a5fb3720167042019995e1beff.tar.gz
* handle failure in GetFPCBreakErrorParameters and continue execution silently
in a gdb/mi safe way git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30020 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/gdbint/src')
-rw-r--r--packages/gdbint/src/gdbint.pp15
1 files changed, 8 insertions, 7 deletions
diff --git a/packages/gdbint/src/gdbint.pp b/packages/gdbint/src/gdbint.pp
index 842471824d..3337f2ce2e 100644
--- a/packages/gdbint/src/gdbint.pp
+++ b/packages/gdbint/src/gdbint.pp
@@ -933,7 +933,7 @@ type
procedure clear_frames;
{ Highlevel }
procedure GetAddrSyminfo(addr:ptrint;var si:tsyminfo);
- procedure SelectSourceline(fn:pchar;line,BreakIndex:longint);
+ function SelectSourceline(fn:pchar;line,BreakIndex:longint): Boolean;
procedure StartSession;
procedure BreakSession;
procedure EndSession(code:longint);
@@ -942,7 +942,7 @@ type
procedure FlushAll; virtual;
function Query(question : pchar; args : pchar) : longint; virtual;
{ Hooks }
- procedure DoSelectSourceline(const fn:string;line,BreakIndex:longint);virtual;
+ function DoSelectSourceline(const fn:string;line,BreakIndex:longint): Boolean;virtual;
procedure DoStartSession;virtual;
procedure DoBreakSession;virtual;
procedure DoEndSession(code:longint);virtual;
@@ -2153,7 +2153,8 @@ begin
fname:=sym.symtab^.filename
else
fname:=nil;
- SelectSourceLine(fname,sym.line,stop_breakpoint_number);
+ if not SelectSourceLine(fname,sym.line,stop_breakpoint_number) then
+ gdb_command('continue');
end;
end;
@@ -3207,12 +3208,12 @@ begin
end;
-procedure tgdbinterface.SelectSourceLine(fn:pchar;line,BreakIndex:longint);
+function tgdbinterface.SelectSourceLine(fn:pchar;line,BreakIndex:longint): Boolean;
begin
if assigned(fn) then
- DoSelectSourceLine(StrPas(fn),line,BreakIndex)
+ SelectSourceLine:=DoSelectSourceLine(StrPas(fn),line,BreakIndex)
else
- DoSelectSourceLine('',line,BreakIndex);
+ SelectSourceLine:=DoSelectSourceLine('',line,BreakIndex);
end;
@@ -3274,7 +3275,7 @@ end;
Default Hooks
---------------------------------------}
-procedure tgdbinterface.DoSelectSourceLine(const fn:string;line,BreakIndex:longint);
+function tgdbinterface.DoSelectSourceLine(const fn:string;line,BreakIndex:longint): Boolean;
{$ifdef Verbose}
var
s,bs : string;