Island/Windows/Debugger won't show const locals?

It seems to me the Windows debugger won’t show values of const locals?
Here is the demo project to replicate.

Is this with latest from, Friday, 2613? I believe we fixed quite a bit for locals support in the Island Debugger over the past couple of weeks.

Thanks, logged as bugs://85750

Yes it is the latest 2613

1 Like

Hello!

I can’t reproduce the problem on your demo project. But it seems by your screenshot that the problem is in array evaluation or could be complex type variables in general (“args” is nil also). Could you create array variable and some class instance in your testcase? How does it evaluate it?

@elenap Thanks a lot for your kind help looking into this.

In the demo, const dims: array of Int64 = [1, 5, 12] shows up as nil - were you able to see the values or you see it nil, too?

I see values for dims. “args” also has value, not nil.

Ah. That is strange. I cannot see dims neither on Visual Studio 2019 16.9.2, nor Water 2613.
I wasn’t able to set break point at the line where dim is defined either.

…scratching my head…

I don’t understand why, but after I added reference to “Elements”, the debugger suddenly wakes up and is able to show the const local now.

So I guess…the solution is to … add reference to “Elements”? @mh @elenap ?

2021-03-24_18-51-29

Not the solution, but apparently it hides the bug — and might explain why @elenap could not repro it, if her tests used Elements.fx…

I used attached testcase without Elements in references.

What if you delete Elements from references - “dims” is nil again?

Could you also check how is another array variable evaluated, please? And maybe some class variable - if it is nil also?

After I added Element, Args and dims both NON nil ( when Args is given a value)

If I removed Element, then both shows nil

1 Like

@elenap Many thanks again for your help looking into this issue.

Another observation - If I removed the reference to TensorFlow.Island.Api.fx (WITHOUT adding Elements.fx), while changing the code to the following, then the debugger can show dim and args

Program = class
public
   class method Main(args: array of String): Int32;
    begin
        const dims: array of Int64 = [1, 5, 12];
        var dataSize := sizeOf(Single);
        for each i in dims do 
        dataSize := dataSize * i;
    end;
end;

But it seems the test case works on your side out-of-box without doing anything … Let me asking a dumb question, but do you use Visual Studio 2019 v16.9.2?

The VS version (or indeed VS vs Water) should not affect this, I’d expect.

Understand. Just let me know what I can do to assist the investigation.

1 Like

I’m thinking the part with Elements.fx should be enough to help us repro it. @elenap will let you know once she had a chance to try.

Hello,

Could you update Elements to 2617 or maybe today’s build? If the problem still persists for you ?

Thank you for following up - I downloaded today’s build. It appears still having the same problem, that is, const locals nil in the debugger. Also I cannot set break point on the line where the const locals are defined.

Hi @elenap
I am not sure if you could replicate, I made a screen recording to illustrate better the problem: