begin process at 2012 05 30 23:06:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

voir utilisation de processus


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

voir utilisation de processus

lundi 7 juin 2004 à 11:05:06 | voir utilisation de processus

kidpigeyre

Bonjour j'aimerai savoir par qui est utilsé un processus. J'utilise Visual C++

Lors du déchargement de ma librairie dll, un access violation apparait, je pense alors que le processus est en cour d'utilisation.

Comment le savoir? et voir par ki?

Merci


kidpigeyre
lundi 7 juin 2004 à 11:15:48 | Re : voir utilisation de processus

BruNews

Administrateur CodeS-SourceS
Une meme dll peut tres bien etre chargee dans 2 processus differents, si elle n'a pas de section 'shared', elle ne s'en rendra meme pas compte car espaces memoires distincts.

ciao...
BruNews, Admin CS, MVP Visual C++
lundi 7 juin 2004 à 11:19:02 | Re : voir utilisation de processus

kidpigeyre

La elle est chargé dans un processus et utilisé (celle ki est chargée) dans un autre processus sans être rechargée.

Elle doit être encore en utilisation lors de la libération.

kidpigeyre
lundi 7 juin 2004 à 11:32:27 | Re : voir utilisation de processus

ymca2003

ça c'est pas possible, chaque processus vit dans son propre espace d'adressage, donc si un processus A charge une dll, pour qu'un process B utilise cette meme dll, il doit la charger (implicitement ou explicitement) pour l'utiliser.
Comme le dit Brunews, cette dll ne saura pas qu'elle est utilisée par 2 processus différents.

Si ton process B libère la dll alors que A l'utilise encore, cela tout très bien se passer. L'access violation doit venir d'un pointeur non valide (peut-être n'appartenent pas au bon process ?)
lundi 7 juin 2004 à 11:37:27 | Re : voir utilisation de processus

kidpigeyre

J'ai afficher les thread dans le menu debug thread pour voir le thread lors qui réalise le loadlibrary et le freelibrary de cette librairie, c'est le même.

Ce qu'il y a détonnant c'est qu'une autre librairie chargée au même endroit, se désaloue trè bien de la mémoire sans erreur. et en utilisant les mêmes fonctions.
kidpigeyre
lundi 7 juin 2004 à 11:40:31 | Re : voir utilisation de processus

ymca2003

l'access violation se fait lors de l'appel à freelibrary où plus-tard dans le code ?
lundi 7 juin 2004 à 11:44:16 | Re : voir utilisation de processus

kidpigeyre

lors de lapel freelibrary mais seulement pour une des deux dll chargée, l'autre passe sans problème (les deux dll utilisent les mêmes fonctions de chargement et déchargement)


kidpigeyre
lundi 7 juin 2004 à 11:49:42 | Re : voir utilisation de processus

ymca2003

faut voir du coté du dllmain de la dll posant problème, le code appelée lors de la libération doit être erroné (ou une variable globale de la dll à un soucis dans son destructeur).

En mode debug, lors de l'acces violation, tu doit pouvoir accéder au code posant problème. dans view->Debud->call stack, tu auras la liste des apples aux fct, tu devrais trouvé celle qui débute le problème
lundi 7 juin 2004 à 11:54:55 | Re : voir utilisation de processus

kidpigeyre

voila ce kil maffiche lors de l'erreur dans mon call stack :

KERNEL32! bff8ac13()

je vois pas trop ce que ça représente.

voici la dll main du dll en question :

#include <windows.h>
#include "./dna/srllib.h" // Dialogic header files
#include "./dna/dxxxlib.h"
#include "../alertes/alertes.h"
#include "dialogic.h"

HINSTANCE hmodule;

BOOL APIENTRY DllMain(HINSTANCE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
switch( ul_reason_for_call )
{
case DLL_PROCESS_ATTACH:
hmodule=hModule;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

j'ai réalisé un point d'arrêt sur le dll_process_detach, il y passe puis quitte la fonction du dll main et ensuite bug.
kidpigeyre
lundi 7 juin 2004 à 12:04:58 | Re : voir utilisation de processus

ymca2003

y'a pas autre chose ds la fenêtre ?, normalement en descendant ds cette fenêtre tu doit poivoir trouver une fct de ton code et en double-cliquant dessus allez à la ligne de l'appel de la fct

1 2

Cette discussion est classée dans : utilisation, processus, voir


Répondre à ce message

Sujets en rapport avec ce message

utilisation des boites aux lettres sous unix [ par amme88 ] Bonjour, j'ai un petit problème en programmation si quelqu'un peux m'aider , ben je programme en utilisant java sous UNIX, alors mon problème et le Problème utilisation timer dans un Bomberman [ par shuyuntake ] Bonjour, Auriez vous une solution pour implémenter un timer dans un projet bomberman sans qu'il fige le système et qu'il soit dependant de la bombe, utilisation de va_list va_arg compliqué [ par PADYVEN ] Bonjour, comment utilisé va_list lorsque ma fonction ressemble a cela: int ListeD_Print(ListeD *MaListeD,void (*FonctionPrint)(void *DataNoeud),...) utilisation fichier en c++ [ par walidhas ] slt;je cherche des codes de manipulation des fichier en c++:lire fichier mot par mot;lire fichier suivant un vecteur de mot que je fixe... aussi je ve [WIN32] Perf listage processus [ par Neo_Fr ] Bonjour, Quelqu'un saurait me dire quel est la méthode la plus rapide pour lister des process ? Process32First/Process32Next ou EnumProcess ? EnumProc probleme avec stucture [ par vercd7am ] bonjour, j'explique mon probleme. J'utilise en ce moment spatstat pour mon memoire sur les processus ponctuels. Le probleme est qu'il se montre incap surveillence de processuse [ par moslih007 ] Bonjour je dois réaliser une applications qui permet de surveiller un groupe de processus,si un des processus est abscent,le systeme doit declarer un utilisation de EOF sur les fichier .txt [ par eliramomo ] je veux lire un fichier .txt mot par mot et qu'il s'arrete lorsqu'il est a la fin , comment dois je faire svp. Utilisation des classes [ par andrebernard ] Bonjour à tous Voila je viens de découvrir que les contrôles sont créés par la même classe que les fenêtres [^^peur] [code=cpp]WNDCLASS wc; wc.c fonction FORC() [ par andromida ] [i]Salut tous; comment peut on utiliser la fonction [b]forc()[/b] sur C sous windows pour creer des processus pères et d'autres fils Par exemple comm


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,293 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales