希望以下内容足以让您继续下去。
我的设置
我在用着:
PHP.ini
[Xdebug]
zend_extension = xdebug
;zend_extension = "c:\xampp\php\ext\php_xdebug-3.1.1-7.4-vc15-x86_64.dll"
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port = 9000
xdebug.log = "c:\xampp\htdocs\j4\tmp\xdebug.log"
Run Code Online (Sandbox Code Playgroud)
问题
我已经使用 VSCode/XAMPP/Xdebug 与 Joomla 3 一起工作了一年多,没有出现任何问题。我离开了几周,当我回来时,我无法单步进入任何 Joomla 3 模块/类。VSCode 会在断点处停止,但单步执行和单步执行都会立即转到父调用函数。
啊,我对自己说,可能 Windows 做了一些事情 - 可能是升级到 J4 以及更新我的环境的好时机。同样的问题。在第一个断点处停止,不会单步执行或单步执行 - 它不会在后续断点处停止。似乎是核心 J4 模块中的单步。堆栈显示正常 - 可以检查初始化的变量。
我尝试过的
一切!为了保持相关性 - 我现在安装了一个全新的、开箱即用的、纯正的 XAMPP、Joomla4 和 Xdebug(按照 Xdebug 向导的建议)。我还暂时禁用了我的 AV …
乌班图。vscode 1.62.1。去1.17.3。vscode go 扩展 v0.29.0。深入研究 v1.7.1。
我是 vscode 和 Go 的新手。我有多年在 Eclipse 中调试 Java 应用程序的经验。
我构建了一个小型多模块 Go 应用程序。我可以在其他模块的 main 和其他函数中设置断点。在 main.go 中,我选择“开始调试”。
它启动应用程序,我可以从控制台得知它正在工作,并且 REST 端点以我的虚拟响应进行响应。
但是,它不会在断点处停止。当我开始会话时,红色断点标记突然变得空心,并且将鼠标悬停在其中一个断点标记上会显示一条消息“无法找到文件...”,该消息会打印相关源文件的完整路径。
当我启动它时,它在控制台中显示以下内容:
开始: /home/.../go/bin/dlv-dap dap --check-go-version=false --listen=127.0.0.1:43347 --log-dest=3 来自 /home/.../ ... DAP 服务器监听:127.0.0.1:43347
我还没有修改 launch.json (我希望有一天能够提供一个更友好的界面来编辑启动配置)。
我还能做错什么吗?
更新:
这是在我按 F5(开始调试)之前显示 main.go 的屏幕截图:
请注意,我在 main 的第一行 print 语句上有一个断点。
这是我按 F5 后看到的:
请注意,它在控制台中打印了“At start of main”。它并没有停在断点处。另请注意将鼠标悬停在断点上时工具提示中的消息。
更新:
这是我的目录结构的视图:
早些时候,我使用 6.0预览版创建了 ASP.NET Core Web 应用程序,并且能够在 VSCode 中对其进行调试。
然后,我在一周前将我的应用程序升级到了最终的 6.0 版本。从那时起我就无法再调试它了。调试器在 1 秒内立即启动和停止。
我使用的是 Mac OS,使用 dotnet core 6.0 的发布版本。
这是我的launch.config调试条目:
{
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "Build:Api",
"program": "${workspaceFolder}/api/bin/Debug/net6.0/api.dll",
"args": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"serverReadyAction": {
"action": "openExternally",
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
Run Code Online (Sandbox Code Playgroud)
我已经检查过,我的所有扩展都是最新的。
有没有办法至少可以查看日志来找出调试器无法启动的原因?
.net-core visual-studio-code asp.net-core vscode-tasks vscode-debugger
我正在使用 LLDB 在 VS-Code 中调试 Rust 程序。
关于表达式的文档说有程序变量和结构的 Python 投影。
所以我检查了调试器中的情况,并设置了断点,但表达式不起作用。
在变量部分,有ooo,它是一个列表,其中第 0 个元素具有id并且它的第 0 个元素具有我正在查找的值。但是,表达式/se ooo[0]['id'][0] == 135654667在 Python 调试器中引发 IndexError:IndexError: Index '0' is out of range。
具有讽刺意味的是,当您在调试控制台中键入该内容时,它会起作用并建议一个表达式!
我尝试过原生 Rust 表达式:
/nat ooo.id().inner_id() == 135654667
Run Code Online (Sandbox Code Playgroud)
输出是
Stopped due to an error evaluating condition of breakpoint 1.1: "ooo.id().inner_id() == 135654667"
Couldn't execute expression:
error: no field named id
Run Code Online (Sandbox Code Playgroud)
...尽管在真实的应用程序中该表达式确实有效:
let x = ooo.id().inner_id() == 135654667;
println!("{}", x);
Run Code Online (Sandbox Code Playgroud)
这会编译并打印 id。 …
下面是我的launch.js
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "pwa-chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在 中launch.js,我尝试将 webRoot 更改为"webRoot": "${workspaceFolder}/src",但没有产生影响。
我的应用程序已启动并正在运行ng serve,但是当我点击F5启动调试模式时,没有任何断点被命中,它们都是unbound/greyed out。
以下是我angular.js的,以防有人需要。
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"angular-u-project-one": {
"projectType": "application", …Run Code Online (Sandbox Code Playgroud) 尝试调试 mts 文件时,我很难获取要绑定的断点。代码运行并输出正确的结果(在本例中只是一堆 console.log 语句)有趣的是,如果我首先转到生成的 mjs 文件并在该文件中插入一个断点,它将在 mts 中拾取断点文件。如果 mjs 文件中没有断点,则调试器不会附加。
设置:
{
"type": "node",
"request": "launch",
"name": "Launch Debug",
"program": "${workspaceFolder}/lib/src/debug.mjs",
"preLaunchTask": "tsc: build - tsconfig.debug.json"
}
Run Code Online (Sandbox Code Playgroud)
{
"compilerOptions": {
"target": "ES2020",
"lib": ["DOM", "DOM.Iterable", "ES2020"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"module": "ES2020",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"typeRoots": ["./types", "./node_modules/@types"]
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", …Run Code Online (Sandbox Code Playgroud) 在 PyCharm 中,列表的长度以及 numpy 数组和 pytorch 张量的形状显示在调试器中,如下 所示
,这使得我们无需展开变量、向下滚动、一一查找属性就可以获得这些属性。在 VSCode 中可以做到这一点吗?
我一直在尝试让 Visual Studio Code 来调试 Typescript,并不断接近但还没有完全实现。我将查看tsconfig-paths 文档,因为我在 tsconfig.h 中定义了路径。我可以从 VSC 启动,但是当 VSC 在 TS 代码中的断点处停止时,它也会在生成的 JS 中的相应代码处停止。这是我所拥有的:
ts配置:
"compilerOptions": {
"lib": ["es2020"],
"target": "es2020",
"outDir": "build",
"module": "CommonJS",
"baseUrl": ".",
"esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"paths": {
"@/*": ["src/*"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
包.json:
"scripts": {
"build": "tsc",
"start": "npm run build && node ./build/index.js"
},
"dependencies": {
},
"devDependencies": {
"@types/node": "15.3.0",
"ts-node": "^10.7.0",
"ts-node-dev": "^1.1.8",
"tsconfig-paths": "^3.14.0",
"typescript": "4.2.4"
}
}
Run Code Online (Sandbox Code Playgroud)
启动.json:
{
// …Run Code Online (Sandbox Code Playgroud) 我收到此错误:“文件更改观察程序意外停止。重新加载窗口可能会再次启用观察程序,除非无法监视工作区的文件更改。”
我不使用也不想要文件观察器。如何将其完全关闭?
我正在尝试在代码中绑定断点,但我从可视代码中得到了这一点:
“此断点最初设置在:C:\workspace\N3urons\order-service\src\entities\Order\OrderController.ts 第 595 行第 1 列
我们找不到相应的源位置,但找到了其他一些同名文件:file:///C:/workspace/N3urons/order-service/src/entities/Order/OrderController.ts
C:/workspace/N3urons/order-service/src/entities/Order/OrderController.ts
如果这是同一个文件,您可能需要调整构建工具以更正路径。”
我在 Windows 上编码,Visual Studio 找不到该文件,但找到了带有这些斜杠的匹配文件。有人可以帮我解决这个问题吗?
我的 launch.json 如下所示:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Node: Nodemon",
"processId": "${command:PickProcess}",
"restart": true,
"protocol": "inspector"
},
{
"name": "Docker: Attach to Node",
"type": "node",
"request": "attach",
"port": 9231,
"address": "localhost",
"localRoot": "${workspaceFolder}",
"remoteRoot": "/usr/src/service",
"sourceMapPathOverrides": {
"/usr/src/service/*": "${workspaceRoot}/*"
},
"protocol": "inspector",
"restart": true
}
]
}
Run Code Online (Sandbox Code Playgroud) vscode-debugger ×10
typescript ×3
.net-core ×1
angular ×1
asp.net-core ×1
debugging ×1
delve ×1
go ×1
javascript ×1
joomla ×1
lldb ×1
php ×1
pycharm ×1
python ×1
rust ×1
vscode-tasks ×1
xdebug ×1
xdebug-3 ×1