Μη επαληθευμένα σημεία διακοπής κατά την αποσφαλμάτωση δοκιμών Typescript Mocha σε Docker με το Visual Studio Code


Προσπαθώ να εντοπίσω σφάλματα σε ένα τεστ Mocha με το Visual Studio Code που εκτελείται σε ένα κοντέινερ Docker. Λόγω του κοντέινερ Docker πρέπει να ξεκινήσω τα τεστ από μέσα στο κοντέινερ και να συνδεθώ σε αυτό, κάτι που αποκλείει απαντήσεις όπως αυτή. Καταφέρνω να συνδέσω τον debugger και ακόμη και να σταματήσει με την ενεργοποιημένη σημαία --debug-brk. Αλλά κάθε breakpoint που ορίζω επισημαίνεται ως "Μη επαληθευμένο breakpoint" από το VS Code, ανεξάρτητα από το αν το έθεσα:

  • στα δοκιμασμένα αρχεία Typescript
  • σε αρχεία Javascript που απαιτούνται άμεσα ή έμμεσα από τα αρχεία Typescript
  • στο αποτέλεσμα του μεταγλωττιστή Typescript

Ορίστε τι κάνω:

  1. Τρέξτε npm test μέσα στο container, το οποίο μεταφράζεται σε NODE_ENV=test API_PORT=8081 DBDATABASE=tests mocha --timeout 50000 -r source-map-support/register -r ts-node/register --preserve-symlinks --exit --debug-brk --inspect=0.0.0.0:9229 "./src/**/*.spec.ts"
  2. Ξεκίνησε τον αποσφαλματωτή.
  3. Ορίστε το σημείο διακοπής. Αμέσως γκριζάρει και εμφανίζει «Μη επιβεβαιωμένο σημείο διακοπής» όταν περνάτε τον δείκτη από πάνω.

Το σχετικό μέρος του launch.json:

{
    "type": "node",
    "request": "attach",
    "name": "Debug Backend",
    "port": 9229,
    "restart": true,
    "protocol": "inspector",
    "localRoot": "${workspaceFolder}/api/backend/",
    "remoteRoot": "/api/backend/",
    "outFiles": ["${workspaceFolder}/api/backend/dist/**/*.js"],
    "skipFiles": ["<node_internals>/**/*.js"]
},

Σε περίπτωση που μπορεί να είναι σχετικό, εδώ είναι το tsconfig.json:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "lib": ["es5", "dom", "scripthost", "es2017", "es6", "es7"],
    "allowJs": true,
    "outDir": "./dist/",
    "preserveSymlinks": true,
    "strict": true,
    "noImplicitThis": false,
    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "sequelize-test-helpers": ["typings/sequelize-test-helpers"]
    },
    "typeRoots": ["node_modules/@types", "typings"],
    "types": ["node", "core-js"]
  },
  "include": ["src/**/*.ts", "typings"]
}