我使用指针指定某种“共享内存”,我习惯使用它 在不同进程/线程之间交换数据。现在我想拥有 共享缓冲区内容的十六进制转储。有谁知道怎么做?
感谢, [R
答案 0 :(得分:14)
使用强制转换,当然:-)该函数应该看起来像什么 像这样:
void Dump( const void * mem, unsigned int n ) {
const char * p = reinterpret_cast< const char *>( mem );
for ( unsigned int i = 0; i < n; i++ ) {
std::cout << hex << int(p[i]) << " ";
}
std::cout << std::endl;
}
然后在使用中:
Foo * f = GetSharedFoo();
Dump( f, somesize );
其中somesize是你想要转储多少。
答案 1 :(得分:0)
在Windows上,您可以使用ReadProcessMemory
。我不知道Linux等价物。