Forum > Debugger

Missing features in Evaluate/Modify window

(1/1)

Igor Kokarev:
Hi Martin,

In Delphi I could use Evaluate/Modify window (Ctrl + F7) to see values of functions and values of properties.

Regrettably it doesn't work in debugger of Lazarus.

For example, I set a breakpoint and try to check value of variable, property and function:


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---fParam: Integer;I type fParam in Evaluate/Modify window and it works fine. I can see value of fParam


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---property Param: Integer read GetParam; I type Param and I get error: "No symbol \"PARAM\" in current context."


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---function GetParam: Integer;I type GetParam and I get an error: "Type TFORM1 has no component named GETPARAM."

Lazarus 1.8.4 64-bit, fpc 3.0.4, Windows 10.

Martin_fr:
This is a known issues.

Properties cannot currently be inspected (not in watches, not in evaluate, nowhere).

This is a combination of many issues.

1) gdb not able to call functions generated by fpc (or maybe an issue of fpc debug info generated for that).
   Actually have not tested with newer gdb....

2) debug info formats (stabs/dwarf2 or 3) not providing the means to store the concept of a pascal property.
  Therefore fpc not telling gdb that there is a property at all.

So to fix this, several parts of the tool chain need to be enhanced.

Igor Kokarev:
Martin,

Thanks for your quick reply. I understood.

Same for LLDB?

Martin_fr:
Yes, same for all debuggers.

Navigation

[0] Message Index

Go to full version