go - 如何在 golang dlv 中重新加载源文件
问题描述
我正在使用 dlv 来调试 golang 源代码。有没有修改源代码后重新加载程序的命令?我在网上搜索了 dlv 文档,但没有找到任何关于如何做到这一点的信息。
任何帮助将不胜感激。
环境:centos
解决方案
Delve 目前无法重新加载您正在运行的编译代码,同时保留断点和跟踪等状态。可能你能做的最好的事情就是在 Delve 中使用“source”命令。例如,如果您将一个名为的文件debug.txt
放在本地目录中,您可以添加:
break foo.go:171
on 1 print myVar
..然后回到dlv debug
:
$ dlv debug
Type 'help' for list of commands.
(dlv) source debug.txt
Breakpoint 1 set at 0x1b0f5e5 for /path/to/foo.MyFunction() ./foo.go:171
(dlv)
您配置的断点已加载。
这不是一个完美的解决方案,我错过了 gdb 行为,所以我创建了一个 GitHub 问题来开始讨论:https ://github.com/go-delve/delve/issues/1551
推荐阅读
- sql - 如何使用 SQL Server 遍历每个潜在的 XML 子元素
- javascript - 我不知道为什么 d3 中的 x.bandwidth = 0
- windows - LOGFONT 的 lfClipPrecision 枚举值的含义
- reactjs - 如何使用反应引导程序限制导航栏的宽度
- javascript - 如何在 A 帧中为 3D 模型启用动画?
- ios - 从另一个视图将变量传递给 SwiftUI AVPlayer
- node.js - 如何将承诺响应映射到节点打字稿中的对象?
- javascript - 返回倒计时数组javascript逻辑
- css - 如何创建一个在两侧具有尺寸箭头且尺寸活动区域的 Flexbox
- java - 如何在firebase android中不使用电子邮件或电话号码创建自定义用户帐户