La façon dont nous sommes utilisés pour déboguer un processus "IISExpress" en cours d'exécution dans .Net Framework consiste à attacher un processus du nom "iisexpress.exe" dans Visual Studio. Mais attacher le processus iisexpress ne fonctionne pas dans le noyau .Net. Il affiche le message - "Le point d'arrêt ne sera pas atteint actuellement. Aucun symbole n'a été chargé pour ce document."
Pour déboguer une instance iisexpress en cours d'exécution dans le noyau .Net, vous devrez attacher le processus "dotnet.exe" dans Visual Studio.
Dans mon cas, en utilisant Asp.Net Core 2.2 avec InProcess
Hosting Model, la réponse acceptée ne fonctionne pas. Mais je devrais choisir dans le menu Debug
> Attach to process
, puis cochez la case "Afficher les processus de tous les utilisateurs" (sous la liste des processus) et sélectionnez "iisexpress.exe". Il fonctionne correctement et atteint les points d'arrêt.
Dans Visual Studio 2019 en utilisant "dotnet watch run", je ne pouvais plus attacher au processus "dotnet.exe", j'obtiendrais l'erreur Symboles ne pouvait pas être chargé, m'a pris un certain temps pour comprendre mais à la place je me suis attaché à [nom du projet ] .exe qui est dans la liste des processus en cours d'exécution et j'ai réussi à attacher le débogueur à un processus avec des symboles chargés et débogage.
Visual studio ne charge pas toutes les DLL (je ne sais pas pourquoi). Essaye ça:
1) Attachez d'abord avec w3wp.exe (pour l'hébergement InProcess) ou dotnet.exe (pour l'hébergement OutOfProcess)
2) Charger manuellement les symboles:
Allez dans Déboguer> Windows> Modules (ou essayez le raccourci Ctrl + Alt + U)
Recherchez et sélectionnez la DLL (et les DLL dépendantes) que vous souhaitez déboguer et cliquez avec le bouton droit sur> Charger les symboles.