리눅스에서 실행되는 동안 멈추는 멀티 스레드 프로세스가 있습니다. 하지만 pstack
(별칭은 gstack
)으로 멀티 스레드 버전이 없습니다. 따라서 gstack <pid>
은 나에게 아무것도 제공하지 않습니다. 어떻게하면 (a) 이미 실행중인 프로세스에 gdb
을 붙일 수 있습니까? (b) 개별 스레드의 스택 추적을 얻습니다. (c) 실행중인 프로세스의 스레드 ID를 알 수 있습니다 (알려진 경우). 프로세스가 멈춘 상태에서 실행중인 스레드가 있습니까?리눅스에서 교수형 프로세스 내에서 특정 스레드에 대한 스택 추적을 보는 방법
0
A
답변
1
우선 디버깅을 위해 -O0 -ggdb
옵션으로 컴파일하십시오. 당신이 gdb를 아래에서 실행할 수있는 경우
# gdb ./yourbinary
를 실행하고 단지 문제를 기다립니다. . 공정 문제가 발생할 때, 당신은 단지, GDB에서 실행할 수없는 경우에
을 ^C
당신을 누릅니다 두 경우 모두에서
# gdb --pid=<YOUR PID>
입력 info threads
을 당신은 모든 스레드를 볼 수 있습니다. 그런 다음 하나를 선택하면 bt
또는 다른 것을 볼 수 있습니다.
관련 문제
- 1. .NET 응용 프로그램의 스택 추적을 보는 방법
- 2. 스레드에 대한 스택 추적을 얻는 것이 성능에 영향을 줍니까?
- 3. 완전한 역 추적을 보는 방법?
- 4. winform에서 예외 추적을 보는 방법
- 5. 파이썬 스택 추적을 해제하는 방법
- 6. 승객의 모든 실행중인 루비 스레드에 스택 추적을 얻는 방법
- 7. 스택 추적을 기록하는 방법?
- 8. 실행시 충돌하는 배포 된 응용 프로그램의 스택 추적을 보는 방법
- 9. VS 2008의 디버그 모드에서 프로젝트의 스택 추적을 보는 방법
- 10. 실행중인 각 스레드에 대한 스택 덤프
- 11. 별도의 콘솔에서 추적을 보는 방법
- 12. 프로세스에서 실행중인 모든 스레드에 대해 스택 추적을 얻는 방법은 무엇입니까?
- 13. GWT 로깅을 켜서 오류 스택 추적을 보는 방법은 무엇입니까?
- 14. 특정 예외에서 Java가 스택 추적을 인쇄하지 못하도록
- 15. java.util.InputMismatchException 스택 추적을 읽는 방법
- 16. StackOverflowException의 스택 추적을 인쇄하는 방법
- 17. 관리 예외에 대한 스택 추적을 기록해야합니까?
- 18. Android Studio에서 전체 스택 추적을 보는 방법은 무엇입니까?
- 19. 자바 스택 스택 추적을 생성하는 방법은 무엇입니까?
- 20. 예외 스택 추적을 인쇄해야합니까?
- 21. Visual Studio 2012에서 어설 션 오류에 대한 C++ 스택 추적을 보는 방법?
- 22. 리눅스에서 특정 응용 프로그램의 프로세스 ID를 변경하는 방법
- 23. Java ThreadInfo에 대한 스택 추적을 요청 하시겠습니까?
- 24. VS 2008 디버거를 사용하여 모든 스택 추적을 얻는 방법
- 25. 커널 모듈에서 사용자 스택 추적을 생성하는 방법
- 26. 오버플로 할 때 Windows 스레드의 현재 스택 크기를 보는 방법
- 27. OOM을 발생시키는 스레드에 대한 스택 추적
- 28. 오이 스택 추적을 없애기
- 29. 실행중인 Linux 프로세스 출력을 보는 방법^
- 30. 리눅스에서 다중 자바 스레드에 의해 호출되는 JNI를 디버깅하는 방법
(a) 적어도 gdb의 기본 맨 페이지를 읽었습니까? 나머지는 GDB 도움말 페이지를 읽었습니까? – Sneftel