Como posso obter versões otimizadas e não separadas da libc e vmlinuz?

1

Uma tarefa comum é definir o perfil das coisas. A criação de perfil raramente é feita em compilações de depuração. O Ubuntu parece dar a você a escolha de executáveis otimizados ou compilações de depuração. Eu me deparei com isso em ambos libc e vmlinux -... que eu extraí de vmlinuz. Depois de extraí-lo, descobri que foi removido.

Eu tenho que construir minhas próprias bibliotecas de sistema apenas para obter símbolos? Os símbolos realmente ocupam muita memória ou disco? A versão completa da depuração lib libc é de apenas 7.6MB e é compartilhada em todos os processos em execução! A versão otimizada, com símbolos, deve ser similarmente pequena. Por que estas são despojadas?

Qual o apt-get que eu preciso para libc e vmlinuz para obter versões não-removidas otimizadas?

    
por Dan Wood 15.08.2012 / 23:29

2 respostas

4

Por política, o Ubuntu constrói tudo com os símbolos de depuração habilitados, e então retiramos esses símbolos dos pacotes binários. Para quase todos os usuários, esses símbolos são um espaço desperdiçado e, para algumas coisas, pode ser uma quantidade significativa de espaço desperdiçado e tempo de download. Por exemplo, o Firefox e o LibreOffice têm quase um gig de símbolos de depuração, e você notará que os símbolos de depuração do kernel são centenas de megabytes.

Para o pequeno número de pessoas que precisam desses símbolos - e quando você precisa deles, você realmente precisa deles - tiramos todos os símbolos de depuração dos pacotes binários e os colocamos em -dbgsym pacote. Veja Debugging Program Crash para saber como chegar ao repositório dbgsym.

Alguns pacotes não possuem um pacote -dbgsym . Principalmente, estes são pacotes que já possuem um pacote -dbg , ou não possuem nenhum símbolo de depuração da compilação - seja porque eles não têm realmente nenhum código executável, ou (às vezes) por causa de um bug de compilação.

    
por RAOF 16.08.2012 / 07:48
0

Os símbolos de depuração geralmente são feitos em um pacote separado que pode ser instalado ao lado do pacote real. Eles geralmente têm um -dbg anexado no final.

Por exemplo, o pacote mythtv é chamado

mythtv

e os símbolos de depuração estão localizados em

mythtv-dbg

Então você precisaria ter ambos os pacotes instalados para depurar o MythTV

    
por tgm4883 16.08.2012 / 07:06