2012-10-16 2 views
0

CentOS 64 비트에서 agentX의 임의의 segfault를 이해하려고합니다. 무작위로 말하자면 하위 에이전트는 할 일이 있는지 확인하는 것과 별개로 작업하고 있습니다. 서버의 일부분은 유휴 상태이며 잠시 동안 수행되었습니다. 충돌이 agentx_open_session + 0x120에 있음을 나타내는 스택 추적이 있습니다. 사용되는 Net-SNMP의 버전은 yum을 사용하여 얻은 것이므로 디버깅 기호가 없지만 5.5.41.el6_3.1.x86_64라는 것을 알고 있습니다. 이 버전에 대한 디버깅 기호를 찾는 위치와 Net-SNMP 코드에서 충돌 사이트를 찾는 데 사용하는 방법을 알고 싶습니다. 핵심 파일이 없습니다. 단지 스택 추적입니다.Net-SNMP agentX 하위 에이전트에서 segfault의 크래시 사이트를 찾는 방법

답변

0

이 작업을 위해 CentOS Debuginfo 저장소를 활성화해야합니다.

install the RPM directly 또는 enabled=1/etc/yum.repos.d/CentOS-Debuginfo.repo에 설정하여 repo를 사용 설정하십시오.

그 후 간단한 yum install net-snmp-debuginfo을 실행할 수 있습니다.

그런 다음 코어 파일을 생성하려면 net-smnpd를 실행하는 사용자의 코어 파일을 활성화해야합니다. 안타깝게도 CentOS의 경우이 사용자는 root입니다. 따라서이 세션을 위해 코어 파일을 활성화하려면 net-snmpd의 시작 파일 /etc/init.d/snmpdulimit -c unlimited을 추가하는 것이 가장 좋습니다. 테스트 용. 나중에 다시 제거해야합니다.

net-snmpd를 종료하고 루트 쉘을 시작한 다음 ulimit을 실행하고 수동으로 snmpd를 시작하십시오. 문제를 확실하게 재현 할 수있는 경우이 방법을 사용하면 정리 절차를 생략 할 수 있습니다.

불행히도 내가 코어를 덤프 할 위치를 말할 수는 없지만 찾을 수있을 것이라고 확신합니다.

관련 문제