mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 14:09:20 +02:00
Cope in TGDBInterface.WaitForProgramStop with absent frame
git-svn-id: trunk@42862 -
This commit is contained in:
parent
0fa280f4c2
commit
03a1fef0cf
@ -409,12 +409,24 @@ Ignore:
|
|||||||
else
|
else
|
||||||
BreakpointNo := 0;
|
BreakpointNo := 0;
|
||||||
|
|
||||||
Addr := GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['addr'].AsCoreAddr;
|
if Assigned(GDB.ExecAsyncOutput.Parameters['frame']) then
|
||||||
if Assigned(GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['fullname']) then
|
begin
|
||||||
FileName := GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['fullname'].AsString;
|
if Assigned(GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['addr']) then
|
||||||
if Assigned(GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['line']) then
|
Addr := GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['addr'].AsCoreAddr
|
||||||
LineNumber := GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['line'].AsLongInt;
|
else
|
||||||
|
Addr := 0;
|
||||||
|
if Assigned(GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['fullname']) then
|
||||||
|
FileName := GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['fullname'].AsString;
|
||||||
|
if Assigned(GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['line']) then
|
||||||
|
LineNumber := GDB.ExecAsyncOutput.Parameters['frame'].AsTuple['line'].AsLongInt;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if Assigned(GDB.ExecAsyncOutput.Parameters['fullname']) then
|
||||||
|
FileName := GDB.ExecAsyncOutput.Parameters['fullname'].AsString;
|
||||||
|
if Assigned(GDB.ExecAsyncOutput.Parameters['line']) then
|
||||||
|
LineNumber := GDB.ExecAsyncOutput.Parameters['line'].AsLongInt;
|
||||||
|
end;
|
||||||
{ this kills GDB.ExecAsyncOutput, because it may execute other gdb commands, so
|
{ this kills GDB.ExecAsyncOutput, because it may execute other gdb commands, so
|
||||||
make sure we have read all parameters that we need to local variables before that }
|
make sure we have read all parameters that we need to local variables before that }
|
||||||
DebuggerScreen;
|
DebuggerScreen;
|
||||||
|
Loading…
Reference in New Issue
Block a user