Debug C++ GRPC: How to examine object values in Visual Studio?

110 views
Skip to first unread message

Steven Peterson

unread,
Oct 19, 2022, 10:38:45 AM10/19/22
to grpc.io
In the Visual Studio C++ debugger, GRPC objects are mostly shown as pointers, but I can't expand to see the value of strings, embedded messages or arrays of repeating messages in a non-trivial data-structure.  My friends in Python and C# claim they have better visibility and can easily see the values of nested objects in our complex data-structures. 

Is there some method to easily examine the actual values of a GRPC C++ object when debugging in Visual Studio? Perhaps a GRPC C++ Plugin for Visual Studio or a way of using expressions and watches in the debugger, or some other method to view the values of a large data-structure? I've searched and can't find it. 

Here's a quick example data-structure. If I'm debugging a unit test and looping through this 2-dimensional grid of result objects, initially I can't just open up the tree of objects and drill down to the scores and visibly compare. By the time I can see the individual ItemScores (like after a function call assert_ItemScores(ItemScore Expected, ItemScore Actual) ), I don't have clear visibility into where I'm at in the grid, or what was the associated model data 1 or 2 levels up that goes with this score. I feel like I'm debugging blind-folded.

message ItemScore {
    string guid = 1
    int timeMS = 2;
    float value1 = 3;
    float value2 = 4;
    float value3 = 5;
    ...
}

message ModelDescription {
    string ModelGuid =1;
    string ModelName =2;
    int inputOption =3;
}

message ResultObject {
    repeated ItemScore scores = 1;
    float maxScore =2;
    float minScore =3;
    ModelDescription associatedModel= 3;    
}

message 1DResultGrid {
    repeated ResultObject results = 1;
}

message 2DResultGrid {
    repeated 1DResultGrid ResultsRows = 1;
    ResultHeader metaData = 2;
}




Reply all
Reply to author
Forward
0 new messages