메시지 크기가 다소 커서 도움이되지 않기 때문에 노드가 다른 노드에서받은 메시지를 검사하려고하지만 flush()
이 아닌 다른 방법으로 검사하려고합니다. 또한 erlang:process_info(self(), messages_queue_len).
메시지를 볼 수 있지만 디버깅 목적으로 한 번에 하나의 메시지를 여러 가지 변수로 추출 할 수있는 방법이 필요합니다.erlang - 한 번에 한 번씩 사서함 메시지 검사
4
A
답변
1
receive
은 사서함에서 메시지를 가져 오는 erlang 프리미티브입니다.
참조 : 당신은 그냥 디버깅을 위해 셸에서 첫 번째 메시지를 얻고 싶다면 http://www.erlang.org/doc/getting_started/conc_prog.html#id2263965
,이 같은 재미를 정의하는 시도 할 수 :
1> self() ! foo.
foo
2> F = fun() -> receive X -> X end end.
#Fun<erl_eval.20.67289768>
3> F().
foo
7
당신은에보고를 할 수 있습니다 Erlang의 dbg
모듈 (이 경우, 자체에())는 모든 메시지를 처리하여 (R)를 수신
dbg:tracer().
추적 :
는 추적을 시작dbg:p(self(), r).
추가 정보 here.
1
하거나 사용할 수 있습니다
1> F = fun() -> receive X -> {message, X} after 0 -> no_message end end.
#Fun<erl_eval.20.111823515>
2> F().
no_message
3> self() ! foo.
foo
4> self() ! bar.
bar
5> F().
{message, foo}
6> F().
{message, bar}
가 ... 덕분에
관련 문제
- 1. iPhone은 클릭당 한 번씩 시작됩니다.
- 2. 한 번에 두 번 버튼으로 한 번에
- 3. 한 번에
- 4. 한 번에 한 명의 사용자
- 5. 결과 집합을 한 달에 한 번씩 가져 오는 방법은 무엇입니까?
- 6. Node.js 서비스가 하루에 한 번씩 질식하고 사망합니다
- 7. 한 번에 하나씩 표시 하시겠습니까?
- 8. 한 번에 하나씩 커밋합니다.
- 9. 클릭 한 번에
- 10. 한 번에 하나의 UIButton
- 11. inputStream을 한 번에 읽음
- 12. 사서함 유효성 검사
- 13. MIPS에서 한 번에 한 글자 씩 반복합니다.
- 14. 한 번에 한 페이지 씩 제공하는 PHP
- 15. 갤러리 한 번에 한 이미지 스크롤
- 16. 한 번에 한 단계 씩 DateTime 만들기
- 17. iPhone SDK - 한 번에 한 가지만 드래그하십시오.
- 18. 파일에서 한 번에 한 줄씩 출력하기
- 19. perl에서 한 번에 한 화면을 출력하는 방법
- 20. 텍스트를 한 번에 한 번만 반복하도록하려면?
- 21. 는 파이썬 스크립트를 한 번에 한 번
- 22. 한 번에 한 시트 씩 phpexcel로 작성하십시오.
- 23. Jquery를 사용하여 한 번에 하나의 오류 메시지 표시
- 24. Service Broker는 한 번에 하나의 메시지 만 수신합니다.
- 25. 한 번에 루트 경로를 정의하십시오.
- 26. 한 번에 두 테이블 쿼리하기
- 27. OpenGL, 한 번에 얼마를 그리는가?
- 28. 한 번에 여러 UIPopoverController 표시
- 29. Scriptaculous 2가 한 번에 토글합니다.
- 30. 한 번에 두 VBE 작업
좋은 정보를 차단 방지하기 위해! – hyperboreean