1

我正在尝试使用名为dlv. 我很困惑。后:

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+Chugo正常运行。据我所知,dlv debug不仅产生相同的行为,而且完全相同:生成的二进制文件debughugo我用go build -gcflags="-N -l".

dlv 启动了一些子进程,这些子进程会在一段时间后消失。该hugo过程通过psandpidof hugostrace -ppidof hugo`` 报告可见strace: attach: ptrace(PTRACE_ATTACH, ...): No such proce。检查之后,它仍然在 ps 列表中,相同的 pid。我猜是因为它在t被追踪时处于状态。

那我怎么能看雨果跑步呢?

4

3 回答 3

4

Aaaa 是适用于 Windows 的 Linux 子系统!我从没想过这会有所作为,但按照 Jonah B 的回答“我在 Fedora 上”,我在 Debian 盒子上尝试了它并且它起作用了。我很惊讶,因为 strace 在 WSL 上运行良好(实际上提交报告的 github 说明包括 strace)。我提交了这个错误

于 2018-02-25T02:29:50.437 回答
2

嗯,不会发生在我身上。dlv 提示立即出现。我在 Fedora 上,过去一周左右一直在定期使用 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
$
于 2018-02-24T15:58:13.827 回答
0

在这里也有同样的经历。但是它不会挂起,只是需要很长时间才能到达 dlv 提示符。

检查您的内存使用情况(例如,如果您在 Linux 上使用 mpstat 或 vmstat)。我有 16G 主内存和 16G 交换。在到达 dlv 提示之前,我几乎所有的内存和大量的交换都被消耗掉了。在启动期间,任何正在播放的视频或音乐都会断断续续,并且 PC 在 dlv 准备好之前几乎无法使用。

Hugo 在这方面是相当大的应用程序。

于 2018-02-24T10:43:04.297 回答