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;
|
||||
var
|
||||
FrameList: TGDBMI_ListValue;
|
||||
I: LongInt;
|
||||
FrameList,FrameArgList,ArgList: TGDBMI_ListValue;
|
||||
I,J,arg_count: LongInt;
|
||||
s : ansistring;
|
||||
begin
|
||||
{ forget all old frames }
|
||||
clear_frames;
|
||||
@ -447,6 +448,28 @@ begin
|
||||
if Assigned(FrameList.ValueAt[I].AsTuple['fullname']) then
|
||||
frames[I]^.file_name := StrNew(PChar(FrameList.ValueAt[I].AsTuple['fullname'].AsString));
|
||||
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;
|
||||
|
||||
function TGDBController.SelectFrameCommand(level :longint) : boolean;
|
||||
|
Loading…
Reference in New Issue
Block a user