logo
Contato | Sobre...        
rebarba rebarba

Rodrigo Strauss :: Blog

follow us in feedly

Palestra do Quinto Encontro: Process Explorer

Aos que não acompanham a lista de discussão e o site do nosso glorioso http://www.ccppbrasil.org, foi realizado no sábado passado o Quinto Encontro de Programadores C e C++, no espaço cedido pela Microsoft Brasil. Para fazer as honras ao anfitrião e saciar minha vontade de falar sobre os softwares que me salvam a pele todos os dias, falei sobre as ferramentas de apoio à programação, debug e diagnóstico na plataforma Windows.

Como uma palestra de 1:15hs (um pouco menos se consideramos o problema no som...) não é nem de longe suficiente para explicar todas as ferramentas, vou explicá-las melhor aqui no meu recentemente abandonado blog. Aos que esperam o prosseguimento da série de Win32, vamos esperar a Apple devolver meu carregador que foi para garantia e nunca mais voltou, assim eu consigo recuperar o fonte dos próximos posts. Bom chega de choramingar, daqui a pouco vou começar os posts com "meu querido diário"...

A primeira ferramenta que eu mostrei, e de longe a mais útil é o Process Explorer, o Task Manager vitaminado da Sysinternals:

Principais usos:

  • Visualizar processos em árvore: Isso possibilita saber facilmente qual processo iniciou outro processo. CTRL+T
  • Finalizar uma árvore de processos: Muitos programas (setups geralmentes) criam vários processos filhos que fazem o mesmo, ficando difícil finalizar todos os processos criados. Um SHIFT+DEL no processo pai resolve esse problema, matando sem remorso o processo pai e toda sua família.
  • Mostrar indicadores detalhados de memória: A pergunta "quanto de memória esse processo está usando?" é vaga e subjetiva. Clicando com o botão direito no header da lista com os processos aparece a opção "Select Columns...". Na aba "Process Memory" encontramos os indicadores detalhados de memória, como "Private Bytes" e "Working Set". Mais detalhes sobre isso no material da minha palestra "Por Dentro do Windows: Gerenciamento de Memória" (que eu já ministrei 3 vezes e se me convidarem eu faço de novo, gosto bastante desse assunto)
  • Saber qual processo está mantendo um determinado arquivo aberto: CTRL+F, digite o nome do arquivo. Você verá uma lista dos processos que mantém handles abertos para esse arquivo.
  • Visualizar quais conexões TCP/IP o processo mantém: Duplo clique no processo, depois aba TCP/IP.
  • Resumo do status do sistema (consumo de processador, memória, I/O, etc): CTRL+I ou menu View >> System Information. Apesar de parecer com a janela do Task Manager, nessa janela temos informações também sobre o I/O total do sistema, além de mais um monte de coisas.
  • Descobrindo qual processo criou uma determinada janela: Arraste o último botão da barra de ferramentas (um alvo) para cima da janela. O processo dono será selecionado. Muito útil para descobrir qual dos programas inúteis do fabricante do seu notebook estão ativando aqueles insuportáveis popups. Ou qual das 15 instâncias do seu programa deve ser debugada depois de mostrar um MessageBox(NULL, "Passou por aqui!!!", "DEBUG", MB_OK);.
  • Descobrir quais serviços rodam em uma instância do svchost.exe: Muitos serviços nativos do Windows são implementados como DLLs que rodam dentro de um dos inúmeros processos do svchost.exe. Abra as propriedades de um processo (duplo clique ou botão direito e "Properties"), você verá uma aba "Services" com a lista.
  • Descobrir quais processo são do usuário XYZ: Na tela de seleção de colunas, existe uma coluna "User name" na aba "Process Information".
  • Lista de todos os handles (arquivos, sockets, chaves de registro mutexes, events, etc) de um processo: CTRL+H.
  • Listar DLLs carregadas por um processo: CTRL+D. Botão direiro + opção "Properties" na DLL e você vê o caminho completo da DLL, sua versão e o nome do fabricante/fornecedor.
  • Ver os processos que mais consomem CPU: Na lista de colunas, aba "Process Performance", escolha a coluna "CPU Time", que mostra o total de tempo de processador que o processo já consumiu desde seu início. Útil para quem quer economizar bateria do notebook. Ou descobrir qual dos 19 antispywares que seu usuário instalou estão monopolizando a CPU e não deixando muito espaço para sua aplicação (que o usuário gentilmente chama de "carroça").
  • Iniciar o Process Explorer minimizado no "tray" na inicialização do Windows: Crie um atalho do Explorer para o comando "procexp.exe /t" e coloque-o em Start Menu >> Programs >> Startup.

Mais sugestões nos comentários serão bem vindas e muito úteis para quem ler esse post no futuro. E torçam para o deus/santo/padroeiro/entidade/orixá/sei-lá-o-que da organização (deve existir um) me ajude a separar mais tempo para escrever no blog, pois eu realmente gosto de fazer isso...


Em 09/10/2008 05:55, por Rodrigo Strauss


  
 
 
Comentários
Wagner Vaz | em 09/10/2008 | #
Acho que melhor que colocar no startup, é trocar o padrão do windows pelo Process Explorer:

Options -> Replace Task Manager

Já uso ele faz uns meses e é uma mão na roda.
Ricardo | e-mail | em 10/10/2008 | #
Interessante, parece bem melhor mesmo, talvez eu comece a usa-lo.

(Gosto de ler esse blog, pena que novos posts estão tão raros quanto possivel)
Alfred R. Baudisch | website | em 10/10/2008 | #
Estava louco esses dias procurando algo para estudar o que passa na memória, e aqui está.

E, no meu caso é para programação PHP. Estou lidando com grandes aplicações e quero otimizar a memória ao máximo, já faço uso de profilers, etc, mas falta o estudo detalhado da RAM, espero que isso seja o que eu estava procurando.
Robson L. | em 20/10/2008 | #
Também gosto de ler esse blog. Bem que você poderia escrever mais nele, Rodrigo.
leodip | website | em 13/09/2009 | #
E aí Rodrigo... quando sai o próximo post do blog? :-)
Abraço
Algo a dizer?
Nome:


Site:


E-mail:


Escreva o número vinte e seis:


 Não mostre meu e-mail no site, não serve pra nada mesmo...

Comentário





Os comentários devem ser sobre assuntos relativos ao post, eu provavelmente apagarei comentários totalmente offtopic. Se quiser me enviar uma mensagem, use o formulário de contato. E não esqueça: isso é um site pessoal e eu me reservo o direito de apagar qualquer comentário ofensivo ou inapropriado.
rebarba rebarba
  ::::