@@ -646,8 +646,9 @@ private IVariableInformation[] ExpandVisualized(IVariableInformation variable)
646
646
{
647
647
continue ;
648
648
}
649
- // Creates an expression: (T[50])*(<ValuePointer> + 50)
650
- // This evaluates for 50 elements of type T, starting at <ValuePointer> with an offet of 50 elements.
649
+
650
+ // Creates a dereferenced pointer-to-array expression: (*(T(*)[50])(ValuePointer + 50))
651
+ // This evaluates for 50 elements of type T, starting at <ValuePointer> with an offset of 50 elements.
651
652
// E.g. This will grab elements 50 - 99 from <ValuePointer>.
652
653
// Note:
653
654
// If requestedSize > 1000, the evaluation will only grab the first 1000 elements.
@@ -656,15 +657,15 @@ private IVariableInformation[] ExpandVisualized(IVariableInformation variable)
656
657
uint requestedSize = Math . Min ( MAX_EXPAND , totalSize - startIndex ) ;
657
658
658
659
StringBuilder arrayBuilder = new StringBuilder ( ) ;
659
- arrayBuilder . Append ( '(' ) ;
660
+ arrayBuilder . Append ( "(*(" ) ;
660
661
arrayBuilder . Append ( typename ) ;
661
- arrayBuilder . Append ( '[' ) ;
662
+ arrayBuilder . Append ( "(*)[" ) ;
662
663
arrayBuilder . Append ( requestedSize ) ;
663
- arrayBuilder . Append ( "])* (" ) ;
664
+ arrayBuilder . Append ( "])(" ) ;
664
665
arrayBuilder . Append ( vp . Value ) ;
665
666
arrayBuilder . Append ( '+' ) ;
666
667
arrayBuilder . Append ( startIndex ) ;
667
- arrayBuilder . Append ( ')' ) ;
668
+ arrayBuilder . Append ( "))" ) ;
668
669
string arrayStr = arrayBuilder . ToString ( ) ;
669
670
670
671
IVariableInformation arrayExpr = GetExpression ( arrayStr , variable , visualizer . ScopedNames ) ;
0 commit comments