2010-12-09 28 views
3

Déchirer mes cheveux de désespoir maintenant après des heures de combat et googling. J'essaye de déboguer une méthode CLR simple. Programme d'installation: Visual Studio 2010, SQL Server 2008 R2 Express, Vista Business SP2. Je suis un utilisateur de domaine mais un administrateur local sur la machine et un administrateur système sur l'instance locale de SQL Server. J'ai créé un nouveau projet de base de données VS, l'ai pointé vers ma chaîne de connexion db (utilisé auparavant), puis il m'a demandé si je voulais activer debuggig pour la connexion, à laquelle j'ai répondu oui.Comment faire SQL Server 2k8 avec débogage CL20 VS2010

J'ai vérifié que le projet se déploie correctement (peut voir l'assembly et sa procédure apparaissent dans SQL Server Management Studio), et que je peux très bien l'appeler dans SSMS. J'ai ensuite ajouté le même code EXEC au script Test.sql dans mon projet db, et l'ai marqué comme le script de débogage par défaut. J'ai ensuite mis un point d'arrêt à la fois dans Test.sql et le code CLR.

Mais quand je frappe F5 tout ce que je reçois est la sortie suivante:

Canceled by user. 
Auto-attach to process '[2144] sqlservr.exe' on machine 'DAWID-PC' succeeded. 
The thread 'dawid-pc\sqlexpress [54]' (0x13c4) has exited with code 0 (0x0). 
The thread 'dawid-pc\sqlexpress [54]' (0x13c4) has exited with code 0 (0x0). 
The thread 'dawid-pc\sqlexpress [56]' (0x109c) has exited with code 0 (0x0). 
The thread 'dawid-pc\sqlexpress [56]' (0x109c) has exited with code 0 (0x0). 
The program '[2144] sqlservr.exe: dawid-pc\sqlexpress' has exited with code 0 (0x0). 

Et ma session de débogage se termine là. J'ai c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe en cours d'exécution; Je peux voir un message indiquant MyDomain\MyUsername connected. apparaître chaque fois que je tape F5 dans Visual Studio. Je n'ai pas de pare-feu sur mon PC et aucun logiciel antivirus n'est installé.

Avez-vous une idée de comment le faire fonctionner? Ma vraie cible était le débogage à distance mais je pensais que je devrais essayer d'abord local et aplanir toutes les bizarreries d'installation avant de s'aventurer plus loin ...

Répondre

0

J'ai eu ce même problème. Il semble être un problème avec votre projet en cours de configuration pour .NET 3/3.5. Dès que j'ai changé ma plate-forme en .NET 2.0, je pouvais atteindre mes points de rupture. Je ne peux pas attendre l'intégration .NET 4 dans les types CLR SQL Server.

0

J'ai récemment rencontré cette erreur en utilisant VS2010 et SQL 2008 R2 (tous deux installés localement). J'ai éteint mon pare-feu, etc. et n'ai toujours pas de chance. Finalement, je suis tombé sur ce qui ressemblait à un problème de mémoire SQL Server. Les fichiers journaux SQL affichaient beaucoup de messages déchargés de AppDomain X. Quoi qu'il en soit, le moi m'a conduit ici: http://www.johnsansom.com/sql-server-memory-configuration-determining-memtoleave-settings/#axzz1SZM5nqyF

et après avoir changé mon option de démarrage de SQL Server -g à -g384, hé presto le débogage a fonctionné !!

Je ne suis pas un administrateur de base de données SQL, alors peut-être que quelqu'un peut intervenir et ajouter à cela s'il connaît les paramètres de MemToLeave.

Ciaran

0
  1. en supprimer l'explorateur de serveur Permet le débogage SQL Server, mais mis en application le débogage
  2. débogage de démarrage et VS demandera à définir l'option Autoriser le débogage SQL Server.

Ensuite, cela fonctionnera.

Abbas Shojaee

0

Réglez vos points de rupture dans la source .., construire et déployer (projets de serveur sql construire et déployer lorsque vous exécutez, mais ne sera pas touché tous les points de rupture que vous avez défini !.) Dans l'explorateur du serveur, vérifiez que vous avez activé le débogage d'application et le débogage SQL/CLR.

Dans l'Explorateur de serveurs, accédez à la procédure/fonction stockée clr que vous voulez déboguer, Clic droit et Pas à pas (Alt + F5). Après "Attacher avertissement de sécurité", vous verrez les assemblages chargés dans le fenêtre de sortie, suivie de ce point de rupture sera frappé et vous pouvez continuer les tâches de débogage habituelles.