0

J'ai recherché sur google stackoverflow mais je n'ai pas trouvé de solution.Visual Studio Code Ubuntu aspnet core 2 débogage de conteneur

Setup:

système d'exploitation hôte: Ubuntu

ASPNet Core 2

Dotnet 2,0


j'ai deux récipients, un récipient pour MySQL et autres pour le noyau dotnet. J'ai été capable de l'exécuter sans installer le débogueur CLR. Après avoir installé le débogueur CLR dans un conteneur, j'essaie d'utiliser Visual Studio Code pour déboguer l'application aspnet core 2 s'exécutant dans ce conteneur. Je reçois erreur suivante:

"Le programme de tuyau" bash "s'est terminé de manière inattendue."

seule option est de "Launch.json ouverte" et ne commande bash launch.json est:

 "pipeTransport": {    
      "pipeProgram": "/bin/bash",    
      "pipeCwd": "${workspaceRoot}",    
      "pipeArgs": ["-c",    
       "docker exec -i devexamapp_debug_1 /clrdbg/clrdbg --interpreter=mi"], 
      "debuggerPath": "/vsdbg/vsdbg" 

montre la console de débogage suivantes:

Démarrage: "/ bin/bash" -c "docker exec -i devexamapp_debug_1/clrdbg/clrdbg --interpreter = mi" "/ vsdbg/vsdbg --interpreter = vscode"

Si je lance "/ bin/bash" -c « docker exec -i devexamapp_debug_1/clrdbg/clrdbg --interpreter = mi ""/vsdbg/vsdbg --interpreter = vscode "dans une fenêtre de console alors ça marche à 100% y erreur.

Qu'est-ce qui me manque? De l'aide?

Merci

+0

Elle est probablement en cours d'exécution une mauvaise commande, avec la combinaison totale. Voyez si vous pouviez comprendre quelle commande était réellement exécutée? –

+0

Merci pour votre réponse. La seule chose que je peux vérifier à partir de Visual Studio Code est ce qu'il imprime dans "Debug Console" en bas. Existe-t-il un moyen de vérifier ce qui est en cours d'exécution? Un journal ou quelque chose? – SharpCoder

Répondre

0

Edit-1: 14-Oct

Vous devez avoir le débogueur installé dans votre image Docker. Vous pouvez faire la même chose en ajoutant ci-dessous pour votre dockerfile

WORKDIR /vsdbg 
RUN curl -SL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l /vsdbg 

Ensuite, vous devez mis à jour le pipeTransport en launch.json comme ci-dessous

"pipeTransport": { 
    "pipeProgram": "docker", 
    "pipeCwd": "${workspaceRoot}", 
    "pipeArgs": ["exec -i devexamapp_debug_1"], 
    "debuggerPath": "/vsdbg/vsdbg", 
    "quoteArgs": false 
} 
+0

Merci, je l'ai essayé, mais je suis maintenant erreur suivant: ** Démarrage: exec "docker" -i devexamapp_debug_1/clrdbg/clrdbg --interpreter = mi/vsdbg/vsdbg --interpreter = vscode Erreur du programme de conduite 'docker': ERREUR: argument inconnu '/vsdbg/vsdbg'.** J'ai essayé d'enlever "debuggerPath" mais cela n'a pas fonctionné non plus. Il est dit "debuggerPath" est requis. – SharpCoder

+0

Joignez-vous à ce chat https://chat.stackoverflow.com/rooms/156714/visual-studio-code-ubuntu-aspnet-core-2-container-debugging –

+0

Il ne me permettra pas de poster un message dans le chat salle, stackoverflow nécessite 20 points de réputation ou quelque chose. – SharpCoder