2

(Note, cette question a été marquée en réponse Debugging Sharepoint timer jobs mais je suis toujours des problèmes)Debugger.Launch(), Trace.Assert (échec) ne fonctionne pas

Je suis incapable de déboguer mon SharePoint travail du minuteur. En général, je peux le faire en mettant un de ces:

  • Debugger.Launch()
  • Trace.Assert(false)

Mais une boîte de dialogue non représenté. J'ai un log4net OutputDebugStringAppender afin que je puisse utiliser DebugView pour surveiller la sortie, et je peux voir que DEBUG ASSERTION FAILED est écrit dans le journal de débogage. J'ai essayé de supprimer l'appender au cas où il pourrait gâcher quelque chose, mais sans chance.

(Reconstruire, redémarrage, réinitialisation IIS, réinitialisation de service, les fichiers pdb dans l'assemblage est fait)

Alors pourquoi une boîte de dialogue non représentée? Je pourrais vraiment utiliser un peu d'aide pour déboguer ce travail de minuterie et serais très reconnaissant pour toutes les idées.

Répondre

1

Vous exécutez probablement votre application en mode débogage au lieu du mode édition. En mode de débogage, vous avez déjà Debugger attaché pour ne pas le lancer.

Vous pouvez trouver si débogueur est attaché ou non par celle-ci:

System.Diagnostics.Debugger.IsAttached 

Donc, essayez comme ceci:

if(!System.Diagnostics.Debugger.IsAttached) 
{ 
    System.Diagnostics.Debugger.Launch(); 
} 
Trace.Assert(false)//Trace is not bound to Debug or Release mode so will always run