2008-08-28 14 views
4

Je travaille sur VS 2008 et j'ai trois projets en une seule solution. Je débogue en me connectant à un processus .net appelé par une application tierce (SalesLogix, une application CRM).Problème de débogage Visual Studio 2008

Une fois qu'il s'est attaché au processus et que j'ai tenté de définir un point d'arrêt dans l'un des projets, il ne définit pas de point d'arrêt dans ce fichier. En fait, il fait passer l'onglet actuel à un autre fichier dans un autre projet et définit un point d'arrêt dans ce document. Si le fichier n'est pas ouvert, il va même jusqu'à l'ouvrir pour moi. Je ne peux pas expliquer ça. Je n'ai aucune idée. Quelqu'un a-t-il vu un comportement aussi étrange? Je ne le croirais pas si je ne le voyais pas moi-même.

Un peu plus d'infos: si je mets un point d'arrêt avant d'attacher, il montre le "point rouge" et dit pas de symboles chargés ... pas de problème ... Je m'y attends. Lorsque je joins et invoque mon code .net de SalesLogix et que je repasse en VS, mon point d'arrêt est complètement parti (pas même un avertissement que la source ne correspond pas au fichier de débogage). Lorsque je tente de charger manuellement le fichier de débogage, un message me signale que le fichier de symboles ne correspond pas au module. Les fichiers .pdb et .dll sont horodatés de la même manière, donc je suis perplexe.

Vous avez des idées?

Thx,

Jeff

+0

La ligne que vous définissez le point d'arrêt d'un appel de méthode/fonction? Peut-être que la fonction a été insérée de sorte que VS soit assez intelligent pour définir le point d'arrêt dans la méthode elle-même. –

Répondre

4

J'ai vu cette fonctionnalité dans les anciennes versions de VS.Net (2003 je crois). Il peut encore exister dans les versions actuelles, mais je ne l'ai pas rencontré. Semble que les fichiers avec le même nom, même dans des répertoires différents, confondent VS.Net, et il finit par définir un point d'arrêt dans un fichier avec le même nom. Cela ne peut se produire que si les classes du fichier ont le même nom. Voilà pour les espaces de noms, je suppose.

Vous pouvez également vérifier votre configuration de construction pour vous assurer que tous les projets sont effectivement en mode de débogage. Je sais que j'ai été pris à plusieurs reprises lorsque la configuration a été modifiée d'une manière ou d'une autre pour la solution, et que certains projets ne compilaient pas en mode débogage.

0

Kibbee, vous aviez raison! C'était deux fichiers avec le même nom dans différents dossiers. Je définissais le point d'arrêt dans le bon fichier sur la ligne 58 - il mettait le point d'arrêt sur l'autre fichier à la ligne 58. Je pouvais enfin définir un point d'arrêt en utilisant le "Debug -> New Breakpoint -> Break à la fonction Nom "option de menu et en entrant le nom de ma fonction. Il s'est arrêté exactement comme il aurait dû alors.

Je suis d'accord - tant pour les espaces de noms, non? Putain, ça m'a coûté quelques heures. Oh, eh bien ... au moins c'est résolu et je sais pourquoi.

Thx pour la réponse et merci à Matt pour sa réponse, aussi!