VS Code: “point d'arrêt ignorée parce que le code généré n'est pas trouvé” d'erreur
J'ai cherché partout et j'ai encore un problème de débogage Tapuscrit à l'intérieur de VS Code. J'ai lu cette fil, mais encore je ne suis pas en mesure de frapper mes points d'arrêt placé à l'intérieur d'un fichier d'enregistrement de fichier, de frapper les points d'arrêt .js fichiers tous fonctionne bien.
Donc, ici, est le plus simple "hello world" projet j'ai mis en place.
-
app.ts:
var message: string = "Hello World"; console.log(message);
-
tsconfig.json
{ "compilerOptions": { "target": "es5", "sourceMap": true } }
-
lancement.json
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "node", "request": "launch", "program": "${workspaceRoot}/app.js", "stopOnEntry": false, "args": [], "cwd": "${workspaceRoot}", "preLaunchTask": null, "runtimeExecutable": null, "runtimeArgs": [ "--nolazy" ], "env": { "NODE_ENV": "development" }, "externalConsole": false, "sourceMaps": true, "outDir": null } ] }
J'ai généré le js.carte fichiers en exécutant les tsc --sourcemap app.ts
commande.
Après toutes ces étapes lorsque j'ai mis un point d'arrêt sur la console.log(message);
de ligne et de lancer le programme (F5) de la "Debug" de l'onglet que le point d'arrêt est grisé en disant: "point d'arrêt ignorée parce que le code généré n'est pas trouvée (carte source de problème?)." Je joint une capture d'écran de ce que j'observe:
Ce qui me manque?
Edit:
Salut, je suis toujours bloqué sur cette. J'ai réussi à faire un exemple de projet qui a été frapper les points de rupture, mais après j'ai essayé de copier ce projet à un emplacement différent sur mon disque dur les points de rupture est encore devenu gris et n'ont pas été touchés. Ce que j'ai fait d'autre dans ce projet de test était d'utiliser inline sourcemaps en compilant le fichier d'enregistrement des fichiers avec tsc app.ts --inlinesourcemap
J'ai téléchargé l'mentionnées exemple de projet de GitHub, donc vous pouvez prendre un coup d'oeil ici.
Vous devez vous connecter pour publier un commentaire.
Réglage
"outFiles" : ["${workspaceRoot}/compiled/**/*.js"]
résolu le problème pour moi."outFiles"
valeur doit correspondre à celui défini danstsconfig.json
pouroutDir
etmapRoot
qui est${workspaceRoot}
dans votre cas, essayez donc de"outFiles": "${workspaceRoot}/**/*.js"
Voici mon
tsconfig.json
et
launch.json
Voici petit projet, où vous pouvez voir tous les paramètres réglés https://github.com/v-andrew/ts-template
launch.json
:"outFiles": [],
au lieu deoutDir": "${workspaceRoot}/compiled",
et j'ai dû changer de"program": "${workspaceRoot}/app.js",
à"program": "${workspaceRoot}\\app.js",
donc \ au lieu de /.Je suis tombé sur cette question, en cherchant une solution à un problème similaire que j'avais. Malgré le fait d'être différent des OP problème, il pourrait aider les autres.
Contexte: j'ai été à la suite de la Le Code de Visual Studio HelloWorld exemple et je me suis trouvée incapable de s'arrêter sur des points de rupture.
J'ai résolu mon problème en changeant
.vscode/launch.json
de sorte que"sourceMaps": true
attribut sous la configuration de Lancement a été fixé (il démarre par défaut sur false).debugger;
(eh bien, à moins que. Comme un test décisif pour commencer...). – avec"outDir": "${workspaceRoot}/build"
également des points d'arrêt ne fonctionnent bien... (donc, probablement, vscode ne peux pas en révéler la source des points d'arrêt sur l'accumulation de côté (ce qui est en cours d'exécution, naturellement) sans...)Je pense que le problème pourrait être dans votre "programme" l'article de lancement.json. Essayez comme ceci:
Face au même problème et résolu en modifiant le chemin d'accès à
.ts
fichiers.Mon projet contient
src
etdist
dirs et le problème était que le.map
les fichiers n'ont pas le chemin d'accès correct à lasrc
dir.Le fix -
tsconfig.json
:D'abord, mes
sourceRoot
a été pointant verssrc
et il n'y a pas desrc
dir à l'intérieur dedist
.Aussi,
sourceMaps
doit être réglé àtrue
à l'intérieur delaunch.json
.sourceRoot
s'est avéré être la solution. Pouah! Je souhaite que ce n'était pas si dur de se mettre au travail. Je souhaite que lorsque vous exécuteztsc --init
le commentaire associé à lasourceRoot
champ plus descriptif et a expliqué que la structure qu'il s'attend effectivement pour les fichiers de sorte que vous pourrait déterminer quelle est la bonne valeur. En tout cas, MERCI!Après l'extraction mes cheveux toute la journée, j'ai enfin réussi à le faire fonctionner.
Le problème est qu'il y a trois fichiers à tripoter son lancement.json, tsconfig.json, et webpack.config.js donc, c'est tout combinatoire.
la diagnosticLogging été la clé pour m'aider à le comprendre.
Microsoft, veuillez vous rendre cela plus facile... Vraiment, vscode pourraient avoir compris cela, ou au moins de m'orienter plus sur le processus.
De toute façon, voici ce que finalement travaillé dans mon lancement.json:
mon tsconfig.json:
mon webpack.config.js:
diagnosticLogging
est maintenant obsolète... utilisertrace
à la place.Face au même problème et l'a résolu le corriger
"webRoot"
config dans le lancement.json.Voici mon espace de travail de l'explorateur.
Depuis le résultat de la compilation de
main.js and main.js.map
sont en"./project/www/build"
répertoire, j'ai changer le"webRoot"
entrée à"${workspaceRoot}/project/www/build"
de"${workspaceRoot}"
, et cela a fonctionné!Le lancement.fichier json est comme suit:
Cela a sauvé ma vie, parce que TS n'était pas à la recherche de sous-répertoires. Merci beaucoup
launch.json
parce que si vous êtes dans un tapuscrit de projet c'est la seule façon de dire le débogueur où sont les fichiers d'origine de la carte.Mise à jour: Tapuscrit de débogage est maintenant ajouté dans 0.3.0 mise à Jour: Toujours clairement vos points d'arrêt, puis l'attacher, puis ajouter des points d'arrêt. C'est un bug et a été signalé.
Aucune des autres réponses a fonctionné pour moi.
J'ai alors réalisé la
program
attribut dans monlaunch.json
pointait à la.js
fichier, mais mon projet est un Tapuscrit projet.Je l'ai changé pour pointer vers le fichier d'enregistrement (
.ts
) de fichier et définissez laoutFiles
attribut à l'endroit où le code compilé vie:Cela a résolu le problème pour moi!
Il n'y a vraiment qu'une seule façon de résoudre ce problème et c'est de regarder la carte source chemin qui est réellement utilisé.
Ajoutez la ligne suivante à
launch.json
:Parmi beaucoup d'autres choses, votre console va avoir des lignes comme celles-ci:
Et alors que vous venez de modifier votre
sourceMapPathOverrides
pour faire le chemin qui correspond à vos réels chemin de la source. J'ai trouvé que j'avais besoin de configuration légèrement différente pour différents projets, afin de comprendre comment déboguer cela m'a vraiment aidé.Après beaucoup de temps perdu sur la résolution de ce problème, il s'est avéré le meilleur moyen est d'activer le débogage trace en ajoutant la ligne suivante dans le lancement.json.
Et voir où est le problème.
Votre console de débogage va afficher quelque chose dans le genre de:
Parmi beaucoup d'autres choses, votre console va avoir des lignes comme celles-ci:
Utilisation sourceMapPathOverride pour le fixer à fait correspondre à votre chemin d'accès. La propriété de la "trace" utilisé pour être appelé "diagnosticLogging" qui n'est plus utilisé.
La fin de la partie, mais vous pouvez consulter cet article sur github Essai d'expansion de soutien pour le
outFiles
l'attribut dans le lancement de config #12254.De coeur dans la nouvelle version de vscode, vous devez maintenant utiliser la boule motif avec la propriété
outFiles
dans votre tâche.json.J'ai eu un simlar question. Je le fixe en indiquant la sortie dir avec
outFiles
Cette config dans le lancement.json travaillé:
{
"type": "node",
"request": "launch",
"name": "Launch Program - app",
"program": "${workspaceRoot}/src/server.ts",
"cwd": "${workspaceFolder}",
"outFiles": ["${workspaceRoot}/release/**"],
"sourceMaps": true
}
Je voudrais contribuer à épargner quelques heures de se cogner la tête.
J'ai utilisé Débogueur pour Chrome pour VS code (vous n'avez pas besoin de cela pour webstorm), je vous recommande de passer 10min à la lecture de leurs page, elle illumine votre monde.
Après l'installation de l'extension du débogueur, assurez-vous que source-carte est installé, dans mon cas, j'ai aussi besoin de source-carte-chargeur. Vérifiez votre paquet.json pour que.
Mon lancement.json qui est le chrome configuration du débogueur (tous mes fichiers source lorsque, en vertu de src) :
JS:
Ajouter
devtool: 'source-map'
à votre webpack.config.js.D'autres paramètres qui génère de la cartographie des inlines ne fonctionne pas avec Chrome Débogueur (ils mentionnent que sur leur page).
Ceci est un exemple:
JS:
Ensuite, vous exécutez votre webpack: `webpack-dev-server --la source de l'outil développeur d'internet explorer-carte --progress --le port 8080, j'ai utilisé webpack-dev-serveur, mais il a les mêmes options que webpack.
Lorsque vous faites cela, vous devez voir un .carte fichier de votre générés app. Si non puis de revenir et de vérifier votre configuration.
Maintenant dans VS Code commutateur pour Console de Débogage et d'exécuter
.scripts
. C'est une commande très utile car il vous montre ce code généré est mappé à la source.Quelque chose comme ceci:
- webpack:///./src/stores/friendStore.js (/Users/your_user/Developer/react/tutorial/src/stores/friendStore.js)
Si cela est faux, alors vous devez vérifier votre sourceMapPathOverrides dans votre lancement.json, des exemples sont disponibles sur le l'extension de la page
oui! dans mon cas, la modification de ce lancement.fichier json résoudre le problème:
À l'aide Angulaire j'ai trouvé que j'ai toujours mon répertoire du dossier pour le
src
dossier que mon espace de travail n'est pas trop encombré avec de la racine des fichiers que je n'utilise jamais. Mais cela m'a donné plusieurs problèmes dans le passé, en particulier lors de l'utilisation de VSCode, depuis de nombreuses fonctionnalités semble à moi de regarder la structure du dossier, et à partir de là, pour l'exécution de vos fichiers. (En comptant certains des fichiers manquants)Donc j'ai eu exactement le même problème avec ce message d'erreur, et l'apprentissage à partir de l'expérience passée, j'ai réalisé que j'ai ouvert mon projet un dossier de profondeur, au lieu de la racine
<app name>
dossier. Donc j'ai juste fermé mon projet et il a ouvert un dossier vers le haut (ainsi que tous les autres fichiers sont également inclus dans la structure de dossier) et mon problème a été immédiatement corrigé.Je crois aussi que beaucoup de réponses ci-dessus, sur la modification de vos fichiers et la structure des dossiers sont des solutions de contournement pour ce problème de ne pas l'ouverture de votre projet de travail dans le dossier racine, ce que jamais cadre/la langue que vous utilisez.
si vous passer à visual studio type de projet de script, vous pouvez déboguer des fichiers ts normalement
je pense que le problème dans l'application.js.carte de génération de fichier
voici un exemple de visual studio app.js.carte
vs code de visual studio app.js.carte
essayer de le remplacer et essayez à nouveau ne pas oublier de tenir compte de hiérarchie de répertoires de sources