Centos 64 ビットでの agentX のランダムなセグメンテーション違反を理解しようとしています。ランダムとは、サブエージェントが何かすることがあるかどうかをチェックすることを除いて、ほとんど何もしていないことを意味します - サブエージェントが属しているサーバーはアイドル状態であり、しばらくの間そうでした。クラッシュが agentx_open_session+0x120 にあることを示すスタック トレースがあります。使用されている Net-SNMP のバージョンは yum を使用して取得されたものであるため、デバッグ シンボルはありませんが、5.5.41.el6_3.1.x86_64 であることはわかっています。このバージョンのデバッグ シンボルの場所と、それらを使用して Net-SNMP コード内のクラッシュ サイトを特定する方法を知りたいです。コア ファイルはありません。スタック トレースだけです。
1 に答える
これには、CentOS Debuginfo リポジトリを有効にする必要があります。
RPM を直接インストールするか、推奨される方法として、 で設定enabled=1
してリポジトリを有効にし/etc/yum.repos.d/CentOS-Debuginfo.repo
ます。
その後、単純なyum install net-snmp-debuginfo
.
次に、コア ファイルを生成するには、net-smnpd を実行しているユーザーに対してコア ファイルを有効にする必要があります。残念ながら、CentOS の場合、これは userroot
です。したがって、このセッションだけでコアファイルを有効にするには、おそらくulimit -c unlimited
net-snmpd の startup-file にを追加するのが最善です/etc/init.d/snmpd
。テスト用です。後でもう一度削除する必要があります。
または、おそらくさらに良いのは、net-snmpd をシャットダウンし、root-shell を開始して、 を実行ulimit
し、snmpd を手動で開始することです。問題を確実に再現できる場合は、この方法でクリーンアップ手順を省略できます。
残念ながら、コアをダンプする場所はわかりませんが、見つかると確信しています。