Não sei ao certo o que você está pedindo (como os programas não precisam - e geralmente apenas não - representam os dados que estão processando na memória da mesma maneira que eles) Os dados na memória são organizados para facilitar o processamento, os dados no disco (arquivos) são otimizados para interoperabilidade, tamanho de armazenamento ou algum outro motivo, e são transformados de um formato para outro ao carregar ou gravar arquivos. Se eles são parecidos, provavelmente é o contrário : Arquivos são apenas conteúdo de memória escrito para disco e tão ilegível.
O site do livro Mac OS X Internals fornece uma descrição e um programa sobre como despejar o núcleo dos processos em execução , ou seja, gravar a memória principal associada a um processo em particular no disco.
Se você quiser compilá-lo no OS X Lion usando as ferramentas de desenvolvedor da Apple, remova os argumentos -arch <name>
para gcc
do Makefile
.
Você pode executar sudo ./gcore <pid>
, com <pid>
como exibido, por exemplo, em Activity Monitor . Abra o arquivo de despejo resultante, por exemplo em um editor hexadecimal para visualizá-lo. No meu sistema, um processo bastante simples como Calculadora produz arquivos com cerca de 450 MB de tamanho.