Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Debogger un service

16 réponses
Avatar
Alain Migeon
Bonjour

J'ai quelques probl=E8mes pour d=E9bogguer un service.

Lors de l'installation de mon service, j'ai rajout=E9 une cl=E9 dans :
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution=20
Options\monservice.exe, et une valeur nomm=E9e "Debugger" de type REG_SZ=20
sous cette cl=E9. Cette valeur contient le chemin pour acc=E9der =E0=20
windbg.exe.

Lorsque le service est d=E9marr=E9, windbg s'=E9x=E9cute.
Jusque l=E0, pas de probl=E8me.

Dans windbg, je configure les r=E9pertoires pour les fichiers symbole,=20
sources et image.

J'obtient l'erreur suivante :
*** ERROR: Symbol file could not be found. Defaulted to export symbols=20
for ntdll.dll -=20

Cette erreur n'apparait pas lorsque je d=E9marre le service sans le=20
d=E9boggeur, et qu'ensuite j'attache le d=E9boggeur =E0 mon service.

Sachant que mon but pr=E9cis est de d=E9bogger de fa=E7on sp=E9cifique le=
=20
d=E9marrage et l'arr=EAt du service, j'ai besoin d'attacher le deboggeur au=
=20
service avant de d=E9marrer celui-ci.

Comment faire? Y-a-t-il des solutions alternatives avec d'autres=20
d=E9boggeur que windbg.

Par avance, merci.

___________________________________________
Alain Migeon - Software engineer
Rovsing Dynamics A/S - Skovlunde - Denmark
Please reverse dk and rovsing for replying.

6 réponses

1 2
Avatar
Remi Thomas
Patrick Philippot wrote:
Alain Migeon wrote:
Comment faire? Y-a-t-il des solutions alternatives avec d'autres
déboggeur que windbg.



[je viens de m'apercevoir que Rémi a déjà fait la même suggestion mais
bon, j'ai déjà écrit le message :-) ]




fcomp, le newsgroup ou l'on répond plus vite que son ombre ! ;-)

Rémi

--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv
Avatar
Alain Migeon
In article <409a2849$0$13083$,
says...
T'as bien réglé les variables d'environnement _NT_SYMBOL_PATH, etc. ?




J'ai réglé _NT_SYMBOL_PATH, mais dans j'ai dans windbg la ligne
suivante.

Symbol search path is: *** Invalid ***

Il semble que _NT_SYMBOL_PATH ne soit pas lu.

___________________________________________
Alain Migeon - Software engineer
Rovsing Dynamics A/S - Skovlunde - Denmark
Please reverse dk and rovsing for replying.
Avatar
AMcD®
Alain Migeon wrote:
In article <409a2849$0$13083$,
says...
T'as bien réglé les variables d'environnement _NT_SYMBOL_PATH, etc. ?




J'ai réglé _NT_SYMBOL_PATH, mais dans j'ai dans windbg la ligne
suivante.

Symbol search path is: *** Invalid ***

Il semble que _NT_SYMBOL_PATH ne soit pas lu.



C'est zarbi ton truc là... Quelle version de Windbg tu utilises ?

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Alain Migeon
In article <4099202c$0$31946$,
internet.fr says...
> Comment faire? Y-a-t-il des solutions alternatives avec d'autres
> déboggeur que windbg.
Faire la même chose avc VC si tu en disposes : l'entrée dans la base de
registre doit être devenv /debugexe



J'ai essayé, ça m'a ouvert x instances de "MS Development Environment".
Et j'ai pas eu d'autre choix que de rebooter ma machine.

___________________________________________
Alain Migeon - Software engineer
Rovsing Dynamics A/S - Skovlunde - Denmark
Please reverse dk and rovsing for replying.
Avatar
Alain Migeon
In article <409f5c5c$0$425$,
says...
Alain Migeon wrote:
> In article <409a2849$0$13083$,
> says...
>> T'as bien réglé les variables d'environnement _NT_SYMBOL_PATH, etc . ?
>>
>>
> J'ai réglé _NT_SYMBOL_PATH, mais dans j'ai dans windbg la ligne
> suivante.
>
> Symbol search path is: *** Invalid ***
>
> Il semble que _NT_SYMBOL_PATH ne soit pas lu.

C'est zarbi ton truc là... Quelle version de Windbg tu utilises ?



6.2.0013.0
___________________________________________
Alain Migeon - Software engineer
Rovsing Dynamics A/S - Skovlunde - Denmark
Please reverse dk and rovsing for replying.
Avatar
Alain Migeon
In article <409b35a4$0$31935$,
says...
Alain Migeon wrote:
> Comment faire? Y-a-t-il des solutions alternatives avec d'autres
> déboggeur que windbg.

[je viens de m'apercevoir que Rémi a déjà fait la même suggestion mais
bon, j'ai déjà écrit le message :-) ]

Pour éviter la crise de nerfs, il y a une solution très simple pour
déboguer un service, basée sur un constat évident: un service est u ne
appli comme une autre à ceci près qu'elle tourne en dehors d'un logon et
qu'elle doit limiter ses interactions avec le desktop. Moyennant quoi,
il suffit d'ajouter un switch sur la ligne de commande qui permet de le
lancer en tant que process "normal" et on débogue son service comme une
appli standard dans VC++.



Ca, c'est que j'ai fait.
Mon problème, maintenant, c'est pour débogguer du code propre au servic e
(démarrage, arrêt).
Je déboggue le reste de mon programme, en démarrant comme simple
application console. C'es nettement plus facile de débogguer à
l'intérieur de Visual Studio...

___________________________________________
Alain Migeon - Software engineer
Rovsing Dynamics A/S - Skovlunde - Denmark
Please reverse dk and rovsing for replying.
1 2