Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 在不修改源代码的情况下调用runtime.GC()/memprofile_Debugging_Go_Profile - Fatal编程技术网

Debugging 在不修改源代码的情况下调用runtime.GC()/memprofile

Debugging 在不修改源代码的情况下调用runtime.GC()/memprofile,debugging,go,profile,Debugging,Go,Profile,我有一个编译过的Go程序,有时会占用大量内存。不幸的是,我没有它的源代码,所以不可能修改它来添加运行时/pprof服务器。我想知道有没有办法在不修改源代码的情况下调用runtime.GC()或生成堆转储?我不这么认为 即使对一个信号做出反应(比如SIGQUIT),也需要对它进行编码 只有可执行文件(无.a,无源代码),您可以考虑与Go程序的提供者(或作者)进行交互,并给他一些bugreport@BasileStarynkevitch不幸的是,由于断电,源代码已经丢失:(我的硬盘一直处于断电状态。

我有一个编译过的Go程序,有时会占用大量内存。不幸的是,我没有它的源代码,所以不可能修改它来添加
运行时/pprof
服务器。我想知道有没有办法在不修改源代码的情况下调用
runtime.GC()
或生成堆转储?

我不这么认为

即使对一个信号做出反应(比如SIGQUIT),也需要对它进行编码


只有可执行文件(无
.a
,无源代码),您可以考虑与Go程序的提供者(或作者)进行交互,并给他一些bugreport@BasileStarynkevitch不幸的是,由于断电,源代码已经丢失:(我的硬盘一直处于断电状态。忘记这个项目,开始一个新的项目,你的下一个编程项目的寿命很短,使用一些系统,比如内存压力会导致GC运行,并且它通常在有活动程序的情况下非常频繁地运行。如果你看到大量内存使用,这可能是因为)程序实际上正在使用内存,因此GC无法释放它,或者b)程序已经运行了GC并释放了内存,但操作系统没有看到回收内存的需要。通过创建一个共享相同内存/fd空间的用户线程来运行
runtime.GC()
,进行黑客攻击怎么样?它可行吗?不确定(我还没有测试过)。即使是类似于或类似于线程的文章也需要程序源来调试任何东西。