Gerando arquivos core de processos em execução

Eventualmente é necessário depurar um processo atualmente em execução sem que o processo seja iniciado através do gdb. Nem sempre é possível reiniciar um serviço atualmente ativo. Mas isso tem uma solução simples, o gdb permite que você anexe processos a ele, desta maneira permitindo gerar arquivos core, analisar a stack e um monte de outras coisas uteis. Este pequeno tutorial mostra como fazer isso.
Continue reading “Gerando arquivos core de processos em execução”

Filesystem Hierarchy Standard

Essa semana, para facilitar o trabalho de alguns colegas, tive que escrever alguns documentos a respeito do Filesystem Hierarchy Standard. Entre eles criei um “navegador interativo” pela árvore de diretórios proposta pelo FHS e que, embora não seja seguido à risca pelas distribuições, dá uma idéia de como a árvore de diretórios do Linux/*BSD é organizada. Útil para aquele seu amigo recém convertido que ainda se perde pelos diretórios do seu novo sistema. Você pode conferir o navegador aqui e baixar um resumo da FHS aqui.

Obs.: algumas partes ainda estão em construção, então a descrição de algumas ainda está simplificada.

Tour visual pelos novos recursos do Vim 7.0

O site Br-Linux.org e o Slashdot publicaram um link para um tour visual dos novos recursos do Vim 7.0. Ainda que eu não use o Vim para editar código, já que considero o KDevelop mais prático, uso o Vim para editar praticamente todos os outros documentos que edito. Minha “feature”, nova, favorita é a inclusão do suporte a tabs.

Gentoo 2006.1, atualização, sub-profiles e gcc 4.1

Embora eu casa eu viva no “bleeding edge”, ~x86 e ~amd64, aqui no trabalho (por razões óbvias) eu sou bastante conservador. Mas, agora que finalmente saiu o 2006.1 já é hora de atualizar a máquina.

[code]Would you like to merge these packages? [Yes/No] Y
>>> starting parallel fetching
>>> Emerging (1 of 59) sys-devel/crossdev-0.9.16 to /
[/code]

Embora ainda não tenha uma documentação oficial sobre isso, os interessados nos sub-profiles para desktop e servidor devem dar uma olhada em /usr/portage/profiles/default-linux/x86/2006.1/server e /usr/portage/profiles/default-linux/x86/2006.1/desktop. Note, porém, que isso ainda não está documentado, então use por sua conta e risco.

Continue reading “Gentoo 2006.1, atualização, sub-profiles e gcc 4.1”

Dica: mantendo a responsividade do sistema sem o uso de threads (QT)

Quando o sistema está sobrecarregado é possível notar, em GUIs escritas com a QT, falhas e/ou lentidões na renderização de determinados widgets. Embora isso não seja tão frequente no Windows, é fácil identificar esse comportamento no Linux quando, por exemplo, você atualiza uma barra de progresso muito frequentemente.

Uma maneira simples de resolver isso é utilizar QApplication::processEvents() após o código em questão.

Obs.: dica retirada do livro “Programming with QT”, de Matthias Kalle Dalheimmer.