systemtap:在解析探测点时:标识符' process' at source:probe process()。函数不匹配

时间:2015-03-28 07:10:42

标签: nginx process docker systemtap

我在我的docker镜像中安装了nginx和lua,但是我没有在我的物理CentOS系统上安装nginx。我“docker运行我的图像”并在我的物理CentOS系统上启动nginx。所以nginx主和工作进程正在运行。我运行了一个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的进程函数?我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

要以-dbg软件包的形式安装未包含在存储库中的软件包的调试符号,您需要添加新的存储库,如Debugging Guide中所述:

  1. 添加存储库:
  

回显“ 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)-更新主要的受限宇宙多重宇宙

     

deb http://ddebs.ubuntu.com $(lsb_release -cs)-安全性受限制的Universe多宇宙

     

deb http://ddebs.ubuntu.com $(lsb_release -cs)提出的主要受限宇宙multiverse” | 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