메신저는 현재 error_logger 핸들러를 작성 중이며 더 이상 오류가 발생하지 않는 스택 추적을 얻고 싶습니다 (더 정확하게는 error_logger:error*
이 호출 된 곳). 하지만 나는 다른 프로세스에 있기 때문에 erlang:get_stacktrace()
메서드를 사용할 수 없습니다.error_logger 처리기에서 오류의 스택 추적을 가져올 수 있습니까?
스택 트레이스를 얻는 방법을 아는 사람이 있습니까?
감사
메신저는 현재 error_logger 핸들러를 작성 중이며 더 이상 오류가 발생하지 않는 스택 추적을 얻고 싶습니다 (더 정확하게는 error_logger:error*
이 호출 된 곳). 하지만 나는 다른 프로세스에 있기 때문에 erlang:get_stacktrace()
메서드를 사용할 수 없습니다.error_logger 처리기에서 오류의 스택 추적을 가져올 수 있습니까?
스택 트레이스를 얻는 방법을 아는 사람이 있습니까?
감사
내가 완전히 디버깅하지 않은,하지만 난 메시지가 수신 된 후 핸들러가 호출 될 때, 그래서 오류 기능은 단순히 오류 로거 프로세스에 메시지를 보내 (화재 및 잊어)한다고 가정 보낸 사람은 완전히 다른 것을하고있을 수도 있습니다. 보낸 메시지에는 백 트레이스가 포함될 수 있지만 매우 의심 스럽습니다.
get_stacktrace() "지난 예외의 백 스택 추적"을 반환합니다. Error_logger : error()에서 예외를 던집니다. 그러면 스택 추적을 얻을 수 있습니다.
error() ->
try throw(a) of
_ -> a
catch
_:_ -> io:format("track is ~p~n", erlang:get_stacktrace())
end.
아니요, 포함되어 있지 않습니다. 그 정보를 얻는 방법은 없다고 믿습니다. 그냥 물어보십시오. :( – ZeissS