IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

Killer un thread par son ID


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Femme Profil pro
    Doctorante
    Inscrit en
    Mai 2007
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activit� : Doctorante

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Par d�faut Killer un thread par son ID
    Bonjour � tous,

    J'ai un soucis avec des Threads. Je dispose d'un filtre DirectShow, qui lorsqu'il se lance cr�� un certain nombre de threads, mais ne les d�truit pas lorsqu'il est supprim�. Je voudrais donc d�truire ces threads � la main, sachant que je ne poss�de que leur ID. Je ne peux donc pas utiliser la fonctione TerminateThread puisque je n'ai pas de handle.
    Existe-t-il une autre fonction/mani�re de killer un thread en "brute force" ?
    Tout en sachant que je ne dispose ni du code du filtre directShow ni du code des Threads en question.

    Merci d'avance.

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    La mani�re forte n'est jamais la bonne avec les threads.
    Etes-vous s�r d'avoir correctement utilis� le filtre ?
    Lisez et assimilez sa documentation.
    Utilisez un d�buggeur ou cr�ez un dump m�moire du processus pour savoir sur quel objet Kernel attendent ces threads satellites.

    Vous pourrez ainsi voir pourquoi ils ne sont pas recycl�s et donc conna�tre la nature de votre mauvaise utilisation du filtre.

    S'il y a vraiment un bug dans le filtre, vous pourrez plus facilement trouver une m�thode de contournement gr�ce � notre ami Google.

  3. #3
    Membre averti
    Femme Profil pro
    Doctorante
    Inscrit en
    Mai 2007
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activit� : Doctorante

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Par d�faut
    Merci de votre r�ponse.

    Je sais bien que la mani�re forte n'est pas la bonne, malheureusement je crois, depuis pr�s d'une semaine que je suis sur ce probl�me � plein temps, avoir explor� la majeure partie des possibilit�s.
    Je n'ai malheureusement que tr�s peu de documentation concernant ce filtre, et rien concernant sa destruction. Je le detruit donc comme tout bon filtre DirectShow (ce qui fonctionne avec n'importe quel autre filtre).

    L'utilisation d'un debugger ne me donne rien, en revanche, j'ignore totalement comment cr�er un dump m�moire (n'ayant jamais �t� confront�e � ce genre de probl�me par le pass�). Existe-t-il des utilitaires ? Est-ce du code � rajouter dans le programme?

    Ce filtre �tant fourni par une soci�t� de vid�osurveillance, Google ne me donne rien � ce sujet, et l'entreprise pour laquelle je travaille n'ayant pas pay� pour l'aide en ligne de cette soci�t�, impossible de se tourner vers elle pour avoir des r�ponses.

    Cependant, je sais que le filtre n'est pas bugg� (� ce niveau l�) puisque son utilisation avec GraphEdit fonctionne parfaitement. Je me doute donc bien que c'est moi qui fait quelque chose d'incorrect. Le soucis �tant que je dois rendre le d�veloppement demain, et je souhaiterais donc "contourner" le probl�me temporairement pour avoir le temps ensuite de chercher une solution plus appropri�e. D'o� ma volont� de d�truire ces threads afin que l'application fonctionne, m�me si c'est, je vous l'accorde, tr�s tr�s moche.

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Parons � l'urgence.
    Utilisez un d�buggeur, comme VS, qui puisse donner la liste des threads du processus et la pile d'appel de chacun d'eux.

    Donnez-nous les types d'objet sur lesquels attendent les threads gr�ce � ces piles d'appels.

  5. #5
    Membre averti
    Femme Profil pro
    Doctorante
    Inscrit en
    Mai 2007
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activit� : Doctorante

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Par d�faut
    La pile des appels ne me donne rien d'autre que la liste des dll... Par exemple, pour l'un d'entre eux :
    ntdll.dll!7c91e514()
    [Les frames ci-dessous sont peut-�tre incorrects et/ou manquants, aucun symbole charg� pour ntdll.dll]
    ntdll.dll!7c91df5a()
    kernel32.dll!7c8025db()
    GxUIProxyWeb.dll!01001f18()
    GxUIProxyWeb.dll!01152794()
    GxUIProxyWeb.dll!011a1ccd()
    GxUIProxyWeb.dll!0100337a()
    msvcr90.dll!78543433()
    msvcr90.dll!785434c7()
    kernel32.dll!7c80b729()

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503

  7. #7
    Membre averti
    Femme Profil pro
    Doctorante
    Inscrit en
    Mai 2007
    Messages
    25
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activit� : Doctorante

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Par d�faut
    Je vous remercie de votre aide, j'ai pu, avec celle d'un coll�gue d�bugger mon application.
    Encore merci.

  8. #8
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Pouvez-vous indiquer le nom du filtre DirectShow et comment vous avez corrig� le probl�me, pour que les lecteurs du thread puissent en tirer parti ?

  9. #9
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 537
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 537
    Par d�faut
    Citation Envoy� par Madalen Voir le message
    Bonjour � tous,

    J'ai un soucis avec des Threads. Je dispose d'un filtre DirectShow, qui lorsqu'il se lance cr�� un certain nombre de threads, mais ne les d�truit pas lorsqu'il est supprim�. Je voudrais donc d�truire ces threads � la main, sachant que je ne poss�de que leur ID.
    Salut est-ce que ce filtre DS c'est toi qui l'a programm� ?
    C'est un filtre .ax ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. arret d'un thread par son id ?
    Par gregcat dans le forum Windows Forms
    R�ponses: 12
    Dernier message: 15/05/2008, 23h17
  2. Destruction d'un Thread par son ID ?
    Par gregcat dans le forum Delphi
    R�ponses: 2
    Dernier message: 07/02/2007, 17h43
  3. Accéder à un serveur linux par son nom
    Par flatron dans le forum R�seau
    R�ponses: 6
    Dernier message: 01/07/2004, 14h27
  4. R�ponses: 4
    Dernier message: 06/06/2004, 12h07
  5. R�ponses: 2
    Dernier message: 10/05/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo