2012-11-06 2 views
2

나는 gen_server 모듈 내부에서 프로세스 사전을 가지고 놀고 있었는데, 나는 get() 함수를 호출했고 이것과 같은 것을 얻는다.gen_server 모듈의 프로세스 사전을 지우면 어떻게됩니까?

{'$ancestors',[main_server,<0.30.0>]}, 
{'$initial_call',{child_server,init,1}}] 

프로세스 사전을 지우면 어떻게됩니까?
나는 그것을 지웠고 모든 것은 잘 동작했다. 심지어 main_server가 child_server에서 예외를 생성하는 함수를 호출해도 여전히 종료 신호를 얻을 수있다./2

답변

1

$ancestors 만 초기화 단계에 을 사용 process_info EXIT 메시지를 잡기 위해 사용되는 부모의 PID를 얻을 :

1

는 좀 디버그 기능은 예를 들어 얼랑에 대한 프로세스 사전을 사용할 수있다 생각 부모로부터 오는 것이므로 terminate 물건이 실행될 수 있습니다. 서버가 시작되어 실행 중일 때이 키를 지우면 아무런 효과가 없습니다.

은 MFA 정보를 덤프하는 proc_lib의 충돌 보고서에 사용됩니다.

OTP 소스 트리에있는 grep은 확실히 도움이 될 수 있습니다.