Bonjour,
Pour savoir ce qui se passe sous le capot, par curiosité ou quand vous avez un problème, rien de plus “simple” : Citrix Diagnostic Facility (CDF) est là pour ça !
Par défaut, depuis MPS3.0 (dans une très moindre mesure MF XP SP4), il est possible tracer l’ensemble des fonctionnalités du produit. Il est ainsi possible de tracer chaque DLL, chaque service, chaque hook etc.
Un step-by-step existe ici : http://support.citrix.com/article/ctx104578
L’outil CDFControl.exe peut également être utilisé. facile à comprendre, il ne nécessite pas la console et dispose déjà de nombreux modèles pour les traces. http://support.citrix.com/article/CTX111961
Pour faciliter la sélection de modules à tracer (oui, y’en a plein!) il faut consulter http://support.citrix.com/article/ctx114975
cela permet donc d’obtenir une trace bien sympathique… mais illisible par l’humain (tout humain hein même des super cracks car je ne connais personne capable de lire et assimiler de l’hexadecimal en live).
Pour lire la trace, il faut un viewer :
cdfviewer.exe, qui a été retiré de la KB mais se trouve sur google
traceview.exe, qui est un outil Microsoft (http://support.citrix.com/article/ctx106233)
Mais le viewer ne suffit pas !!! il faut ensuite les symboles pour le produit. Ceux-ci sont disponible sur le FTP Citrix :
ftp://ftp.citrix.com/mps40/cdf contient les symboles pour le produit de base (sans rollup pack)
ensuite dans ftp://ftp.citrix.com/mps40/ il y a un sous-rep par langue et pour finir un sous rep par rollup pack.
Note : les symboles pour les hotfixes ne sont pas disponible publiquement (et faut pas rêver les symboles ne sont pas complets, dans le sens où le niveau de détail fourni par les symboles n’est pas total mais permet deja de voir beaucoup de choses)
Exemple de trace CDF (un seul module!), une fois décryptée :
8,“28/02/2008 14:09:25.194”,“mmhook.cpp”,“UseMultiMonitorHook”,“4756”,“CDF_INFO”,""
9,“28/02/2008 14:09:25.194”,“mmhook.cpp”,“UseMultiMonitorHook”,“4757”,“CDF_INFO”,"MMHook.dll getting loaded into winlogon.exe"
10,“28/02/2008 14:09:25.194”,“mmhook.cpp”,“UseMultiMonitorHook”,“4758”,“CDF_INFO”,""
11,“28/02/2008 14:09:25.194”,“mmhook.cpp”,“UseMultiMonitorHook”,“4762”,“CDF_INFO”,"Session ID=3"
12,“28/02/2008 14:09:25.194”,“mmhook.cpp”,“GetRegDword”,“2168”,“CDF_ENTRY”,"GetRegDword: looking for value: ‘DefaultHooks’"
13,“28/02/2008 14:09:25.194”,“mmhook.cpp”,“GetRegDword”,“2181”,“CDF_INFO”,"GetRegDword: Objects Initialized"
Bon courage aux plus téméraires !
je dépingle… après réflexion, cela devrait passer dans les articles…