You must make sure that the formatted data you want displayed by TotalView (the data whose address you supply as the third parameter to
TV_ttf_add_row) remains allocated after the call to your
TV_ttf_display_type returns. In practice this means that you shouldn't allocate these data on the stack. Your
TV_ttf_display_type function may be called at anytime, including when your target program may be in the memory manager. For this reason it is inadvisable to allocate or deallocate dynamic memory in your
TV_ttf_display_type functions. If the formatted data are manufactured, that is, generated by
TV_ttf_display_type rather than already existing, then the memory for those data should be allocated during the target's normal course of execution.
You may find it convenient to have your program format data as part of its normal operations.That way there are no side-effects to worry about when TotalView calls your
TV_ttf_display_type callback function.
The field_name and
type_name string parameters to
TV_ttf_add_row do not need to remain allocated after the call to TV_ttf_add_row.