Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    27

    [C++] Riconoscere un processo in crash

    Ciao a tutti,
    c'è qualcuno che mi sa indicare come riconoscere da programma un processo crashato ??

    ho un server dove girano applicazioni da me fatte anche sottoforma di servizi di NT.
    Essendo però un server, nessuno ha il desktop sott'occhio.

    avrei quindi la necessità di monitorare l'attività dei vari processi ed eventualmente inviare una mail in caso si verifichi qualche crash.

    grazie in anticipo per le risposte...
    And

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non c'e' alcun modo, a meno di non monitorare i servizi stessi.

    Ad esempio, se un servizio ti risponde su un socket, prova ad interrogarlo periodicamente e, se non risponde, lo dai per "crashato".
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    27
    Originariamente inviato da oregon
    Non c'e' alcun modo, a meno di non monitorare i servizi stessi.

    Ad esempio, se un servizio ti risponde su un socket, prova ad interrogarlo periodicamente e, se non risponde, lo dai per "crashato".

    Allora sono praticamente fregato, in quanto i servizi in questione non sono applicazioni server che restano in ascolto di connessione su una porta...
    Al contrario... le applicazioni in questione sono da considerare client, infatti contattano continuamente un AS400 per eseguire delle elaborazioni a tempo... (ogni pochi secondi).

    Sono già riuscito a fare una applicazione che verifica la lista dei processi attivi in locale ad una macchina, il problema però è che se un processo crasha, comunque risulta ancora attivo finchè qualcuno non preme il tasto OK della finestra d'errore emessa a video.
    And

  4. #4
    In realtà un metodo ci sarebbe, ma richiede un po' di conoscenze per essere implementato. Quando un programma va in crash Windows richiama il debugger Just-In-Time definito... Quindi ti "basterebbe" sviluppare un'applicazione che si comporti come un debugger JIT limitandoti a rilevare il nome dell'applicazione crashata.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    A parte il fatto che costruire l'applicazione debugger (che a sua volta chiami il debugger vero per eventi che non le interessano) non e' semplicissimo, mi sembra che si possa ovviare piu' semplicemente facendo scrivere al processo un file locale con data e orario.

    Se si dovesse rilevare un file con dati piu' vecchi di quelli consentiti, si potrebbe ritenere il processo "crashato".
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.