Solaris下使用MDB查看全局变量的值

假设要查看全局变量m_FmSvcMsgQueue的值

1) 得到m_FmSvcMsgQueue mangle后的值:
nm libfm.so|c++filt|grep m_FmSvcMsgQueue
[8323]  |   5003644|      32|OBJT |GLOB |0    |19     |m_FmSvcMsgQueue
nm libfm.so|grep 8323                   
[8323]  |   5003644|      32|OBJT |GLOB |0    |19     |m_FmSvcMsgQueue

可知m_FmSvcMsgQueue mangle后的值还是m_FmSvcMsgQueue

2)在mdb core文件中:
> m_FmSvcMsgQueue::nm
Value      Size       Type  Bind  Other Shndx    Name
0xfbcc5974|0x00000020|OBJT |GLOB |0x0  |19      |libfm.so`m_FmSvcMsgQueue

0xfbcc5974即为全局变量m_FmSvcMsgQueue的地址,其值即可知


其实,不知道地址,直接用符合也可以看看:m_FmSvcMsgQueue/X

你可能感兴趣的:(Solaris)