0

我已经在我的 docker 镜像中安装了 nginx 和 lua,但是我没有在我的物理 CentOS 系统上安装 nginx。我“docker run my image”并在我的物理 CentOS 系统上启动 nginx。所以 nginx master 和 worker 进程都在工作。我运行了一个 nginx-systemtap-toolkit 的示例。我跑:

sudo ./ngx-active-reqs -p 24945

24945 是工作进程 ID。错误如下:

semantic error: while resolving probe point: identifier 'process' at <input>:6:7
    source: probe   process("/data1/nginx/sbin/nginx").function("ngx_process_events_and_timers"),
                    ^
semantic error: no match
Pass 2: analysis failed.  [man error::pass2]
Number of similar error messages suppressed: 1

其实“/data1/nginx/sbin/nginx”就是docker镜像中的nginx路径,我的物理系统上没有安装nginx。那么是一定要在我的物理系统上安装 nginx,还是有其他方法可以使用 nginx 的进程功能呢?我不知道如何解决这个问题。

4

1 回答 1

0

要以 -dbg 包的形式安装不包含在存储库中的调试符号,您需要添加一个新的存储库,如调试指南中所述:

  1. 添加存储库:

echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) 主要受限宇宙多元宇宙" | sudo tee -a /etc/apt/sources.list.d/ddebs.list

echo "deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates 主要受限宇宙多元宇宙

deb http://ddebs.ubuntu.com $(lsb_release -cs)-security 主受限宇宙多元宇宙

deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main 受限宇宙多元宇宙" | sudo tee -a /etc/apt/sources.list.d/ddebs.list

  1. 添加 GPG 密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01

  1. 更新您的包裹清单:

sudo apt-get 更新

  1. 安装调试符号包,在本例中为 coreutils-dbgsym:

sudo apt-get install coreutils-dbgsym

于 2018-12-21T03:45:30.413 回答