加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 教程 > 正文

运行 ProcDump编译程序进行快速编译

发布时间:2021-05-28 04:06:01 所属栏目:教程 来源:互联网
导读:要转储一个进程的内存,你需要向 ProcDump 提供它的进程 ID(PID)。你可以使用机器上任何正在运行的程序或守护进程。在这个例子中,我将使用一个永远循环的小 C
副标题[/!--empirenews.page--]

要转储一个进程的内存,你需要向 ProcDump 提供它的进程 ID(PID)。你可以使用机器上任何正在运行的程序或守护进程。在这个例子中,我将使用一个永远循环的小 C 程序。编译程序并运行它(要退出程序,按 Ctrl+C,如果程序在后台运行,则使用 kill 命令并输入 PID):

$ cat progxyz.c

#include<stdio.h>

 

int main(){

        for(;;)

        {

                printf(".");

                sleep(1);

        }

        return0;

}

$

$ gcc progxyz.c -o progxyz

$

$ ./progxyz &

[1]350498

$

运行该程序,你可以使用 pgrep 或 ps 找到它的 PID。记下 PID:

$ pgrep progxyz

350498

$

$ ps-ef |grep progxyz

root      350498  345445  003:29 pts/1    00:00:00./progxyz

root      350508  347350  003:29 pts/0    00:00:00grep--color=auto progxyz

$

当测试进程正在运行时,调用 procdump 并提供 PID。下面的输出表明了该进程的名称和 PID,并报告它生成了一个核心转储文件,并显示其文件名:

$ procdump -p 350498

 

ProcDump v1.1.1-Sysinternals process dump utility

Copyright(C)2020MicrosoftCorporation.All rights reserved.Licensed under the MIT license.

MarkRussinovich,MarioHewardt,JohnSalem,JavidHabibi

Monitors a process and writes a dumpfilewhen the process exceeds the

specified criteria.

 

Process:                progxyz (350498)

CPU Threshold:          n/a

CommitThreshold:       n/a

Polling interval (ms):  1000

Threshold(s):  10

Number of Dumps:        1

 

PressCtrl-C to end monitoring without terminating the process.

 

[03:30:00- INFO]:Timed:

[03:30:01- INFO]:Coredump0 generated: progxyz_time_2020-06-24_03:30:00.350498

$

列出当前目录的内容,你应该可以看到新的核心文件。文件名与 procdump 命令显示的文件名一致,日期、时间、PID 都会附加在文件名上:

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读