An opaque type is a data type that could be hidden, not fully specified, or defined in another part of your program. For example, the following C declaration defines the data type for
p to be a pointer to
struct foo, and
foo is not yet defined:
When TotalView encounters a variable with an opaque type, it searches for a struct,
class,
union, or
enum definition with the same name as the opaque type. If TotalView doesn’t find a definition, it displays the value of the variable using an opaque type name; for example:
You can tell TotalView to use the correct data type by having it read the source file. For example, if TotalView is showing you
(Opaque foo) and you know that
struct foo is defined in source file
foo.c, use the
File > Open Source Command. While this command’s primary purpose is to display the file within the Process Window, it also causes TotalView to read the file’s debugging information. As a side-effect,
struct foo should now be defined. Because TotalView now knows its definition, it can resolve the opaque type.