Os comandos da linha de comandos do Windows não fazem nada intermitentemente

1

UPDATE

Basta falar com os dois devs em questão agora e ambos disseram que estão executando o Win XP 2002 SP3 . Isso pode ser um problema para. Droga, isso é velho.

Não tenho certeza qual é a melhor maneira de descrever esse problema, mas aqui vai.

A maioria dos desenvolvedores da minha equipe está usando caixas do Windows. Um par de experimentar o seguinte problema ...

Ao executar comandos a partir do prompt de comando, nada acontece. Por nada quero dizer, o prompt de comando retorna imediatamente, sem erro, sem nada. Isso não acontece todas as vezes, mas, em média, você precisa executar o mesmo comando cerca de 5 vezes antes de realmente 'aderir' e o comando ser executado.

Isso é agravado pelo fato de que, se o comando que está sendo executado, por sua vez, também chamar outros comandos, eles também poderão falhar.

O efeito líquido disso é um momento muito frustrante tentando executar coisas como testes de pepino a partir da linha de comando.

Especificamente, esses caras têm tentado executar testes de pepino, mas eu testemunhei isso ao tentar adicionar uma nova caixa através do Vagrant esta manhã. Ambas as coisas são baseadas em Ruby, então talvez haja algo lá.

De qualquer forma, minhas perguntas para você são:

Com as informações acima em mente, você já experimentou a linha de comando do Windows não executando comandos aleatoriamente e, em caso afirmativo, como você a corrigiu?

Existe algum registro que eu possa ver para ver por que os comandos da linha de comando estão falhando?

    
por Aaron Chambers 23.04.2012 / 18:23

1 resposta

0

Isso pode ser difícil de diagnosticar.

Are there any logs I can look at to see why the command line commands may be failing?

Resposta curta é não. O prompt de comando simplesmente inicia o programa e ele exibirá um erro se falhar ao carregar, mas se ele for carregado, o programa individual exibirá o que precisa. Não é um erro para um programa iniciar e fechar sem fazer nada ou exibir nenhuma informação.

Você pode, no entanto, usar o Process Monitor (da Sysinternals), que mostrará o que estava acontecendo (ou seja, cada arquivo que está sendo acessado e as entradas do registro à medida que estão sendo lidas. Se comparar o que acontece quando o programa se comporta corretamente acontece quando falha, pode dar uma pista de onde o programa está errado.

Como são apenas programas baseados em Ruby que exibem esse problema, o próximo estágio seria escrever / obter um programa ruby muito simples (talvez algo que apenas exibe uma mensagem) que você possa usar para testar o ambiente ruby. / p>

É possível que, se você estiver executando rapidamente muitos programas em Ruby, o ambiente esteja sendo carregado e descarregado rapidamente e talvez ele falhe se você tentar iniciar um processo muito rapidamente após terminar o anterior.

Mas eu suspeito que isso também funcionará, o que deixaria você olhando para os programas que você está tentando executar.

Se você tiver a fonte (e desde que você mencionou devs eu estou supondo que você faça), então você precisa verificar a sua fonte de código que poderia falhar, mas que você está assumindo vai funcionar, ou seja, onde você não está verificando sucessos. Não sei nada sobre o ruby, mas suponho que, se estiver chamando outros programas, ele retornará um status de erro se essa chamada falhar e esse valor de status não puder ser verificado nem registrado.

Mas geralmente o melhor método é registrar uma grande quantidade de informações que você pode usar para acompanhar o fluxo do programa para determinar por que ele funciona, às vezes, em outras.

    
por 24.04.2012 / 21:28