Access to TensorImpl

I am trying to access a low-level tensor and retrieve its member via SystemTap, such as dim() or sizes(). I know the layout of TensorImpl defined in c10/core/TensorImpl.h but for some reasons, my gdb or stap cannot retrieve its information despite having debug symbols.

I have built PyTorch from the source codes w/ DEBUG=1 and I did verify its symbol via nm -D libtorch_cpu.so: _ZTIN3c1010TensorImplE, which is a mangled symbol of c10::TensorImpl.

However, when I track this symbol to print its layout, I hit the following error:

(gdb) ptype c10::TensorImpl
No type "TensorImpl" within class or namespace "c10".

I can see other functions as the same way:

(gdb) ptype c10::intrusive_ptr_target
type = class c10::intrusive_ptr_target {
  private:
    struct std::atomic<unsigned int> refcount_;
    struct std::atomic<unsigned int> weakcount_;

  protected:
    ~intrusive_ptr_target();
    intrusive_ptr_target();
    intrusive_ptr_target(class c10::intrusive_ptr_target &&);
    intrusive_ptr_target(const class c10::intrusive_ptr_target &);
    class c10::intrusive_ptr_target & operator=(class c10::intrusive_ptr_target &&);
    class c10::intrusive_ptr_target & operator=(const class c10::intrusive_ptr_target &);
  private:
    virtual void release_resources();
}

So, I am quite confused why this is not accessible despite its symbol. If there is no symbol then I get it becasue it may be stripped way from optimization flags; yet, having symbols and not showing its internal layout does not make sense to me.