2010-03-30 7 views

risposta

1

Probabilmente potrebbe utilizzare il WerAddExcludedApplication function per fermare WER da calci quando il programma si blocca. È necessario annullare nuovamente l'esclusione di cappello con WerRemoveExcludedApplication.

+0

Nota a margine: sono abbastanza sicuro che ci deve essere un modo migliore. Dopo tutto, cosa hai intenzione di fare se questo fa parte di un lavoro in background automatizzato, o hai solo l'accesso non grafico alla shell da remoto? Sono abbastanza sicuro che ci sia una soluzione * corretta * al problema; questo è solo un trucco su di esso. – Joey

-1

Il problema non suona come il suo un problema Perl, suona come un problema con i comandi di sistema. Che intendi con "quando questi programmi si bloccano". I tuoi programmi di sistema?

Dipende da ciò che sta causando l'incidente. Questo è l'errore "Dr. Watson"/funzione WinQUAL e in realtà non dovrebbe accadere per puro codice Perl, se lo fa, significa che l'interprete Perl si blocca e si ha un bug Perl o si sta utilizzando un'estensione nativa che si blocca, assicurati di avere l'ultima versione stabile di Perl o di qualsiasi estensione nativa. Restringilo a ciò che si sta schiantando.

È inoltre possibile disattivare la funzione di Segnalazione errori di Windows del tutto, dal pannello di controllo di Windows.

+2

Penso che Pete significhi che il programma lanciato da 'system' sta andando in crash, e la chiamata' system' non ritorna finché la finestra di dialogo non è stata chiusa. 'eval' non aiuterà in questo. Non sarebbe d'aiuto nemmeno con un interprete Perl in crash. – cjm

+0

Grazie per la correzione. Scusa, non ho davvero pensato molto bene alla mia risposta e ho fatto un'assunzione muta senza leggere i documenti. – codenheim

0

attivazione di questo criterio di gruppo in errori di Windows Segnalazione (WER) dovrebbe fare il trucco (test in questo momento perché ho lo stesso problema): 0.123.

non verrà generato alcun popup nel caso in cui si esegua un programma e si interrompa la chiamata all'interno del proprio script perl all'interno della chiamata system(). Ma sappi che la politica sarà sistematica; nessun problema se il tuo sistema viene utilizzato per lavori batch.

+0

whoa! Ho appena realizzato che la tua domanda è di 6 anni .. Spero che tu abbia risolto il problema ora :) –