[RESOLU] Debug IIS avec VS2005

bonjour,

je vous explique mon probleme.
Je suis en train de developper une appli Windows forms (C#, .net 2.0, visual studio 2005 Team Edition, xp SP2, tout standard) qui fait appel a un webservice (que j’ai developpé aussi, C# .net 2.0 et tout le tralala).

Mon probleme est : je voudrais pouvoir faire en sorte, lors du debug de mon appli, que le flux de debuggage ne s’arrete pas au proxy generé par visual studio, mais qu’il continue dans le code de mon web service, qui lui est deployé sur iis.

Or, actuellement, ca marche po, je peut debugger mon webservice via cassini (le webserver integré a vs2005), debugger mon appli qui fait ses requetes sur le webservice, mais pas avoir une continuité entre les 2 B)

j’ai trouvé un peu de doc sur le net, mais rien ne marche, et je n’ai meme pas toute les options decrites ici :
http://msdn.microsoft.com/library/default…webservices.asp

(notemment ca: In the properties grid, under the Debuggers heading, set Enable ASP.NET Debugging to True. qui m’a l’air assez important)

Le probleme qui semble le deranger est qu’il ne trouve jamais les symboles pour pouvoir debugger mon webservice, alors qu’avec cassini, il n’a meme pas besoin de les trouver, puisqu’il a l’air d’executer directement le code. (pas de compilation apparente, peut etre du JIT interne).

Voila, si quelqu’un a deja eu ce probleme, ou connait un peu IIS et le debug, son aide me serais d’un grand secours.

Merci

Edit : en fait, question plus generale, quelqu’un sait-il comment debugger un service web avec IIS, ou comment exporter les symboles de debuging vers IIS ?

Suffit de s’attacher a IIS comme on faisait avant cassini, le plus simple c’est de la faire avec deux VS lancé, un par process a debugguer. Rien de folichon B)

haha, si seulement ca pouvait etre aussi simple. non, pas moyen, dans les precompilé il inclus pas les symboles de deboguage, donc, niet. et ce avec un visual studio ou 2.

Si si ca marche je l’ai fait des centaines de fois. Je vois pas quel est le probleme avec ton histoire de symboles, tu mets le PDB dans le meme rep que les assemblies et ca marche tout seul.

Justement, il est la mon probleme, j’ai pas de PDB pour mon service web, sinon, je suis d’accord, ca marche partout, mais j’ai pas de symboles pour mon service web. Je suis bien en debug, j’ai bien activé le debug dans mon web.config. Serait-ce que lorsqu’on deploies le service web il genere pas de pdb ? Je devrait avoir un App_code.pdb ou quelque chose de similaire, mais non, rien.

Apres de longues recherches, je crois avoir trouvé, il faut un plugin pour visual studio qui permet d’activer la generation des informations de debugging pour les projets web deployés.

Dispo ici:
http://msdn.microsoft.com/asp.net/referenc…dp/default.aspx
Un howto:
http://weblogs.asp.net/scottgu/archive/200…/06/429723.aspx

Merci de ta patience glop B)

Fausse réponse en renvoyant sur les web application project.

Tu es bien sensé pouvoir t’attacher à n’importe quel process iis avec visual studio pour debugger ton code. Et rien ne t’empeche de copier/coller tes pdb depuis ton poste vers le serveur si vraiment tu sembles en avoir besoin (ce qui n’est pas forcément le cas).

je resume :

  • visual studio 2005 ne permet pas de generer les pdb pour les precompilé iis pour mon projet Service Web C#. (ou alors j’ai vraiment pas trouvé)
  • quand on debug avec cassini, il genere des tonnes de trucs dont les pdb, mais dans C:\windows.net framework\v 2.0.0.757\temporary asp net files{un guid alacon}\ (nan, je vais pas aller les chercher la a chaque fois, sachant qu’il faut que je lance un debug cassini apres chaque modif de mon service et avant chaque debug avec iis)
  • Je peut effectivement m’attacher a iis, mais sans symboles de debug (pdb) aucun interet.
  • le plugin que j’ai trouvé permet de generer les fichiers pdb pour un deployement sur iis, il resoud donc mon probleme.

je suis plus clair la ?

Oui tu es clair, mais tu as tort. Mais permet moi d’insister, et même de détailler :

1 - Création d’un nouveau “Web Site…”, "ASP.NET Web Service"
2 - Config de IIS : création un rep virtual “Webservicetest” qui pointe vers le répertoire de mon projet web
3 - Ajout du Web.config, ajout de “” (la même chose en passant par l’outil d’admin de site web)
4 - clic droit sur le projet, “Add ASP.NET Folder”, "Bin"
5 - clic droit sur le projet, "Property Pages"
6 - Start options, “Use custom Server” base url : http://localhost/webservicetest/service.asmx (donc bien l’url de IIS)
7 - MSBuild options, Output Folder : tu fais pointer la sortie de MSBuild vers le rep bin que tu viens de créer (je pense c’est ca qu’il te manquait)
8 - F6…
9 - Je rajoute un point d’arrêt sur ma méthode
10 - menu “Debug”, “Attach To Process…”, aspnet_wp.exe
11 - Je lance mon client qui appelle ma méthode HelloWorld()
12 - Et là, pof magie :

Sinon je ne me souvenais plus exactement de la manip, mais je me souvenais l’avoir déjà fait.

ha ouais, ok autant pour moi…

mais ca :
7 - MSBuild options, Output Folder : tu fais pointer la sortie de MSBuild vers le rep bin que tu viens de créer (je pense c’est ca qu’il te manquait)

ca me semblais pas evident, enfin, merci beaucoup.