如何在LazyVim的DAP调试中切换栈帧并跳转至对应源码
在LazyVim中通过DAP切换栈帧并跳转源文件
核心操作步骤
- 打开调用栈窗口:默认快捷键是
<leader>ds(按空格+ds),打开后会显示当前调试会话的所有栈帧 - 切换并跳转:在调用栈窗口中,用上下箭头(↑/↓)选中目标栈帧,再按回车键(Enter),就能自动跳转到对应源文件的代码位置。如果之前按回车没效果,大概率是光标没选中栈帧或窗口焦点不在调用栈列表上,确保光标停在目标栈帧条目上再操作。
自定义快捷键(可选)
如果默认快捷键不符合使用习惯,可以在lua/plugins/dap.lua中添加自定义映射:
local dap = require("dap") local dapui = require("dapui") -- 自定义调用栈窗口开关快捷键 vim.keymap.set("n", "<leader>dS", function() dapui.elements.stackframes.toggle() end, { desc = "Toggle Stack Frames" }) -- 手动绑定栈帧跳转快捷键(解决默认回车失效的情况) vim.keymap.set("n", "<CR>", function() local frame = dap.session().current_frame if frame then dap.jump_to_frame(frame) end end, { buffer = true, desc = "Jump to Selected Stack Frame" })
常见问题排查
- 调试会话必须处于暂停状态(比如触发断点后)才能加载并显示调用栈,运行中的会话无法切换栈帧
- 用
:checkhealth dap命令检查DAP及DAP-UI插件的加载状态,确保依赖配置正确
内容的提问来源于stack exchange,提问作者Nekomiya Kasane
相关产品推荐
相关产品推荐

