microsoft / MIEngine

The Visual Studio MI Debug Engine ("MIEngine") provides an open-source Visual Studio Debugger extension that works with MI-enabled debuggers such as gdb and lldb.
MIT License
818 stars 218 forks source link

Address visualizing past 1000 ArrayItems #1344

Closed WardenGnaw closed 2 years ago

WardenGnaw commented 2 years ago

We have a limit of 1000 child items that can be returned when we call EnsureChildren. https://github.com/microsoft/MIEngine/blob/d5a05958d3cca45995b335645005d6917b515839/src/MICore/CommandFactories/MICommandFactory.cs#L353

Since we only ever need at most 50 at a time, this PR modified the request to be (T[<At most 50>])*(<ValuePointer> + StartOffset) to handle child values past 1000.

Also added a test case to see if we can see past 1000 by testing with an ArrayItem visualized type with 2000 elements.

WardenGnaw commented 2 years ago

Looks like my debuggee changes did not make it in.