mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-02 12:10:22 +02:00
Add function parameters with values in Call Stack window
git-svn-id: trunk@30091 -
This commit is contained in:
parent
3af4a43834
commit
93ca6267c8
@ -421,8 +421,9 @@ end;
|
|||||||
|
|
||||||
procedure TGDBController.Backtrace;
|
procedure TGDBController.Backtrace;
|
||||||
var
|
var
|
||||||
FrameList: TGDBMI_ListValue;
|
FrameList,FrameArgList,ArgList: TGDBMI_ListValue;
|
||||||
I: LongInt;
|
I,J,arg_count: LongInt;
|
||||||
|
s : ansistring;
|
||||||
begin
|
begin
|
||||||
{ forget all old frames }
|
{ forget all old frames }
|
||||||
clear_frames;
|
clear_frames;
|
||||||
@ -447,6 +448,28 @@ begin
|
|||||||
if Assigned(FrameList.ValueAt[I].AsTuple['fullname']) then
|
if Assigned(FrameList.ValueAt[I].AsTuple['fullname']) then
|
||||||
frames[I]^.file_name := StrNew(PChar(FrameList.ValueAt[I].AsTuple['fullname'].AsString));
|
frames[I]^.file_name := StrNew(PChar(FrameList.ValueAt[I].AsTuple['fullname'].AsString));
|
||||||
end;
|
end;
|
||||||
|
Command('-stack-list-arguments 1');
|
||||||
|
if not GDB.ResultRecord.Success then
|
||||||
|
exit;
|
||||||
|
|
||||||
|
FrameArgList := GDB.ResultRecord.Parameters['stack-args'].AsList;
|
||||||
|
arg_count:=FrameArgList.Count;
|
||||||
|
if arg_count>frame_count then
|
||||||
|
arg_count:=frame_count;
|
||||||
|
for I := 0 to arg_count - 1 do
|
||||||
|
begin
|
||||||
|
ArgList:=FrameArgList.ValueAt[I].AsTuple['args'].AsList;
|
||||||
|
s:='(';
|
||||||
|
for J:=0 to ArgList.Count-1 do
|
||||||
|
begin
|
||||||
|
if J>0 then s:=s+', ';
|
||||||
|
s:=s+ArgList.ValueAt[J].AsTuple['name'].AsString;
|
||||||
|
if Assigned(ArgList.ValueAt[J].AsTuple['value']) then
|
||||||
|
s:=s+':='+ArgList.ValueAt[J].AsTuple['value'].ASString;
|
||||||
|
end;
|
||||||
|
s:=s+')';
|
||||||
|
frames[I]^.args:=StrNew(pchar(s));
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TGDBController.SelectFrameCommand(level :longint) : boolean;
|
function TGDBController.SelectFrameCommand(level :longint) : boolean;
|
||||||
|
Loading…
Reference in New Issue
Block a user