dlv hugo 挂了
dlv hugo just hangs
我正在尝试使用名为 dlv
的 Go 调试器来学习 Hugo。我很困。之后:
go get -v github.com/gohugoio/hugo
cd $GOPATH/src/github.com/gohugoio/hugo
go build -gcflags="-N -l"
dlv exec ./hugo -- -s /path/to/the/projectdir
挂起。按 Ctrl+C 正常运行 hugo
。据我所知 dlv debug
不仅产生相同的行为,而且完全相同:生成的名为 debug
的二进制文件与我用 [=16= 构建的 hugo
完全相同].
dlv 启动了一些子进程,这些子进程会在一段时间后消失。 hugo
进程通过 ps
和 pidof hugo
可见,但 strace -p
pidof hugo`` 报告 strace: attach: ptrace(PTRACE_ATTACH, ...): No such proce
。之后查看,还在ps列表中,相同的pid。我猜是因为它在被追踪时处于 t
状态。
那我怎么看雨果运行?
同样的经历。但是它并没有挂起,只是需要很长时间才能到达 dlv 提示符。
检查您的内存使用情况(例如,如果您使用 Linux,则使用 mpstat 或 vmstat)。我有 16G 主内存和 16G 交换空间。在出现 dlv 提示符之前,我几乎所有的内存和大量的交换空间都被消耗掉了。在启动期间,任何正在播放的视频或音乐都会卡顿,并且在 dlv 准备就绪之前,PC 几乎无法使用。
Hugo 在这方面是相当大的应用程序。
嗯,我不会这样。 dlv 提示立即出现。我在软呢帽上,在过去一周左右的时间里一直在定期使用 hugo。
$ dlv exec ./hugo -- --cleanDestinationDir -s /path/to/blog/root/
Type 'help' for list of commands.
(dlv) c
| EN
+------------------+----+
Pages | 25
Paginator pages | 0
Non-page files | 0
Static files | 11
Processed images | 0
Aliases | 0
Sitemaps | 1
Cleaned | 0
Total in 46 ms
Process 41032 has exited with status 0
$
Aaaa,它是 Windows 的 Linux 子系统!我从没想过这会有什么不同,但在 Jonah B 的回答“我在软呢帽上”之后,我在 Debian 机器上试了一下,它成功了。我很惊讶,因为 strace 在 WSL 上运行良好(实际上 github 关于提交报告的说明包括 strace)。我提交了这个 bug.
我正在尝试使用名为 dlv
的 Go 调试器来学习 Hugo。我很困。之后:
go get -v github.com/gohugoio/hugo
cd $GOPATH/src/github.com/gohugoio/hugo
go build -gcflags="-N -l"
dlv exec ./hugo -- -s /path/to/the/projectdir
挂起。按 Ctrl+C 正常运行 hugo
。据我所知 dlv debug
不仅产生相同的行为,而且完全相同:生成的名为 debug
的二进制文件与我用 [=16= 构建的 hugo
完全相同].
dlv 启动了一些子进程,这些子进程会在一段时间后消失。 hugo
进程通过 ps
和 pidof hugo
可见,但 strace -p
pidof hugo`` 报告 strace: attach: ptrace(PTRACE_ATTACH, ...): No such proce
。之后查看,还在ps列表中,相同的pid。我猜是因为它在被追踪时处于 t
状态。
那我怎么看雨果运行?
同样的经历。但是它并没有挂起,只是需要很长时间才能到达 dlv 提示符。
检查您的内存使用情况(例如,如果您使用 Linux,则使用 mpstat 或 vmstat)。我有 16G 主内存和 16G 交换空间。在出现 dlv 提示符之前,我几乎所有的内存和大量的交换空间都被消耗掉了。在启动期间,任何正在播放的视频或音乐都会卡顿,并且在 dlv 准备就绪之前,PC 几乎无法使用。
Hugo 在这方面是相当大的应用程序。
嗯,我不会这样。 dlv 提示立即出现。我在软呢帽上,在过去一周左右的时间里一直在定期使用 hugo。
$ dlv exec ./hugo -- --cleanDestinationDir -s /path/to/blog/root/
Type 'help' for list of commands.
(dlv) c
| EN
+------------------+----+
Pages | 25
Paginator pages | 0
Non-page files | 0
Static files | 11
Processed images | 0
Aliases | 0
Sitemaps | 1
Cleaned | 0
Total in 46 ms
Process 41032 has exited with status 0
$
Aaaa,它是 Windows 的 Linux 子系统!我从没想过这会有什么不同,但在 Jonah B 的回答“我在软呢帽上”之后,我在 Debian 机器上试了一下,它成功了。我很惊讶,因为 strace 在 WSL 上运行良好(实际上 github 关于提交报告的说明包括 strace)。我提交了这个 bug.