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

Windows Presentation Foundation Discussion :

[WPF] Destructeur non appelé


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut [WPF] Destructeur non appelé
    Bonjour,

    Sujet vague, je ne savais pas où je devais le posté WPF, C#, visual studio...Donc voilà, excusé moi si vous pensez que ce sujet n'a pas sa place ici.
    Depuis quelques (plusieurs mois déjà), lorsque je ferme ma solution visual studio en debug, le mode debug continue de tourné. A première vue, me suis dit que c'était un bug. Aujourd'hui, je m'aperçois que non, mon processus reste lancé même après avoir fermé la solution, de plus j'ai remarqué que le destructeur de mon application n'était pas appellé.

    Donc d'après vous, d'où ça pourrai venir?

    Cordialement,

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,

    - as-tu modifié des trucs app.xaml, si oui quoi ?
    - vérifie que ta Window principale est bien la 'MainWindow' de l'application
    - utilises-tu des composants COM (office, opc, services...) ? Si oui vérifie qu'ils soient libérés proprement
    - enfin, tu peux vérifier les objets qui ne sont pas collectés par le Garbage Collector (des "memory leaks" comme on dit, assez courants en WPF), par exemple en utilisant S.O.S :
    http://www.codeproject.com/KB/dotnet...Detection.aspx
    ou encore
    http://dandesousa.com/2010/08/28/fin...visual-studio/

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    Ouais, c'est ce qu'ai fait, j'ai donc 65000 objet en mémoire, lorsque le programme est fermé....
    58819d54 274 69048 System.Windows.Controls.ContentPresenter
    58829ff4 278 77840 System.Windows.Shapes.Rectangle
    65821d88 335 78132 System.Char[]
    6582547c 328 98136 System.Collections.Hashtable+bucket[]
    65824944 494 122508 System.Byte[]
    6523db80 1941 142244 System.Windows.EffectiveValueEntry[]
    657d6c28 4894 252672 System.Object[]
    6581f9ac 8359 514984 System.String
    Total 65205 objects
    Je vous éparge le reste. Donc à partir je vois pas trop quoi faire...

  4. #4
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Citation Envoyé par MetalGeek Voir le message
    - utilises-tu des composants COM (office, opc, services...) ? Si oui vérifie qu'ils soient libérés proprement
    +1 : c'est souvent ce qui pose problème...

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    J'ai regardé ce qu'était les composants COM... Je n'en utilise aucun dans mon appli...

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Que fais ton application, tu parles de 65000 objets en mémoire, tu fais du dessin ?

    Utilises-tu des threads, timers ? Si oui il faut s'assurer qu'ils sont bien fermés.
    Fais-tu de la COM via USB ou autre ? De l'interop (utilisation du conteneur WindowsFormHost) ?

    Certains contextes sont plus propices à ce genre d'effet, d'où ces différentes questions sur ce que peut faire ton appli. C'est pour essayer de comprendre ce qui peut causer ce problème.

    Sinon, il existe des outils pour analyser dans le détail les perf de ton application :
    http://msdn.microsoft.com/en-us/library/aa969767.aspx
    Peut-être que ça peut t'aider à comprendre ce qui cloche

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    Merci pour ta réponse, en effet j'utilise un WindowsFormsHost, mais même en le supprimant j'ai le même problème...Je vais voir ton lien. Puis je redirai ce qu'il en est par la suite...

  8. #8
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    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 532
    Par défaut
    Salut,
    Citation Envoyé par Babas007 Voir le message
    J'ai regardé ce qu'était les composants COM... Je n'en utilise aucun dans mon appli...
    es-tu sur de ne pas utiliser d'Active X ?
    Est-ce que l'application crée des threads ?

  9. #9
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    J'utilise un timer dont je suis sur de fermer, puis une storyboard qui j'imagine créer des threads. Je n'utilise pas non plus de ActiveX

Discussions similaires

  1. classe Action non appelée
    Par jc44 dans le forum Struts 1
    Réponses: 4
    Dernier message: 18/08/2006, 14h22
  2. [destructeur] [pas appelé]
    Par Gonath dans le forum C++
    Réponses: 11
    Dernier message: 23/02/2006, 18h37
  3. onkeyup non appellé
    Par GregPeck dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/02/2006, 17h22
  4. Verifier formulaire - fonction non appelée
    Par nerick dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/12/2005, 17h44
  5. Réponses: 3
    Dernier message: 23/08/2005, 11h02

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