站长网 教程 开始使用 Linux 上的 ProcDump来实行参数

开始使用 Linux 上的 ProcDump来实行参数

副标题#e# 要试用 Linux 上的 ProcDump,你需要下载该工具并编译它。(我使用的是 Red Hat Enterprise Linux,尽管这些步骤在其他 Linux 发行版上应该是一样的): $ cat/etc/redhat-release RedHatEnterpriseLinux release 8.2(Ootpa) $ $ uname-r 4.18.0-

副标题#e#

要试用 Linux 上的 ProcDump,你需要下载该工具并编译它。(我使用的是 Red Hat Enterprise Linux,尽管这些步骤在其他 Linux 发行版上应该是一样的):

$ cat/etc/redhat-release

RedHatEnterpriseLinux release 8.2(Ootpa)

$

$ uname-r

4.18.0-193.el8.x86_64

$

首先,克隆 Linux 版 ProcDump 的版本库。

$ gitclone https://github.com/microsoft/ProcDump-for-Linux.git

Cloning into 'ProcDump-for-Linux'…

remote:Enumerating objects:40,done.

remote:Counting objects:100%(40/40),done.

remote:Compressing objects:100%(33/33),done.

remote:Total414(delta 14), reused 14(delta 6), pack-reused 374

Receiving objects:100%(414/414),335.28KiB|265.00KiB/s,done.

Resolving deltas:100%(232/232),done.

$

$ cdProcDump-for-Linux/

$

$ ls

azure-pipelines.yml  CONTRIBUTING.md  docs     INSTALL.md  Makefile    procdump.gif  src

CODE_OF_CONDUCT.md   dist             include  LICENSE     procdump.1  README.md     tests

$

接下来,使用 make 构建程序。它能准确地输出编译源文件所需的命令行参数。

$ make

rm-rf obj

rm-rf bin

rm-rf /root/ProcDump-for-Linux/pkgbuild

gcc-c -g -o obj/Logging.o src/Logging.c -Wall-I ./include-pthread -std=gnu99

gcc-c -g -o obj/Events.o src/Events.c -Wall-I ./include-pthread -std=gnu99

gcc-c -g -o obj/ProcDumpConfiguration.o src/ProcDumpConfiguration.c -Wall-I ./include-pthread -std=gnu99

#p#副标题#e#

gcc-c -g -o obj/Handle.o src/Handle.c -Wall-I ./include-pthread -std=gnu99

gcc-c -g -o obj/Process.o src/Process.c -Wall-I ./include-pthread -std=gnu99

gcc-c -g -o obj/Procdump.o src/Procdump.c -Wall-I ./include-pthread -std=gnu99

gcc-c -g -o obj/TriggerThreadProcs.o src/TriggerThreadProcs.c -Wall-I ./include-pthread -std=gnu99

gcc-c -g -o obj/CoreDumpWriter.o src/CoreDumpWriter.c -Wall-I ./include-pthread -std=gnu99

gcc-o bin/procdump obj/Logging.o obj/Events.o obj/ProcDumpConfiguration.o obj/Handle.o obj/Process.o obj/Procdump.o obj/TriggerThreadProcs.o obj/CoreDumpWriter.o -Wall-I ./include-pthread -std=gnu99

gcc-c -g -o obj/ProcDumpTestApplication.o tests/integration/ProcDumpTestApplication.c -Wall-I ./include-pthread -std=gnu99

gcc-o bin/ProcDumpTestApplication obj/ProcDumpTestApplication.o -Wall-I ./include-pthread -std=gnu99

$

编译过程中会创建两个新的目录。第一个是 obj/ 目录,存放编译期间创建的对象文件。第二个(也是更重要的)目录是 bin/,它是存储编译出的 procdump 程序的地方。它还会编译另一个名为 ProcDumpTestApplication 的测试二进制文件:

$ ls obj/

CoreDumpWriter.o  Handle.o   ProcDumpConfiguration.o  ProcDumpTestApplication.o  TriggerThreadProcs.o

Events.o          Logging.o  Procdump.o               Process.o

$

$

$ ls bin/

procdump  ProcDumpTestApplication

$

$ file bin/procdump

#p#副标题#e#

bin/procdump: ELF 64-bit LSB executable, x86-64, version 1(SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2,for GNU/Linux3.2.0,BuildID[sha1]=6e8827db64835ea0d1f0941ac3ecff9ee8c06e6b,with debug_info,not stripped

$

$ file bin/ProcDumpTestApplication

bin/ProcDumpTestApplication: ELF 64-bit LSB executable, x86-64, version 1(SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2,for GNU/Linux3.2.0,BuildID[sha1]=c8fd86f53c07df142e52518815b2573d1c690e4e,with debug_info,not stripped

$

在此情况下,每次运行 procdump 实用程序时,你都必须移动到 bin/ 文件夹中。要使它在系统中的任何地方都可以使用,运行 make install。这将这个二进制文件复制到通常的 bin/ 目录中,它是你的 shell $PATH 的一部分:

$ which procdump

/usr/bin/which:no procdump in(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

$

$ make install

mkdir-p //usr/bin

cp bin/procdump //usr/bin

mkdir-p //usr/share/man/man1

cp procdump.1//usr/share/man/man1

$

$ which procdump

/usr/bin/procdump

$

安装时,ProcDump 提供了一个手册页,你可以用 man procdump 访问:

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/video/2021/0527/6905.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部