이외의 스레드를 보지 못합니다. GDB는 크래시가 발생한 스레드 외에 다른 스레드를 보지 못합니다. 또는 SIGTRAP은 브레이크 포인트를 설정할 때 내 프로그램을 죽인다.GDB는
Q
GDB는
3
A
답변
5
이 작업은 주로 Linux, 특히 내장 된 대상에서 발생합니다. 두 가지 일반적인 원인은 다음과 같습니다
- 당신의 glibc를 사용하고, 그리고 당신은 GDB 자체는 유지 "스레드 제어 블록"을 디코딩하는 방법을 알고하지 않습니다
libpthread.so.0
- 불일치
libpthread.so.0
사이 libthread_db.so.1
제거했다 glibc에 의해 구현되었고 glibc 사설 구현 세부 사항으로 간주됩니다. 그것을 돕기 위해 libthread_db.so.1
(glibc의 일부)을 사용합니다. 따라서 libthread_db.so.1
및 libpthread.so.0
은 버전 및 컴파일 플래그에서 일치해야합니다. 또한 libthread_db.so.1
에는 libpthread.so.0
에 특정 비전 역 심볼이 있어야합니다.
해결책 : strip libpthread.so.0
대신 strip --strip-debug libpthread.so.0
을 사용하십시오.
원격 디버깅을 수행하는 경우 대상에 libpthread.so.0
, 호스트에 libthread_db.so.1
이 일치하는지 확인하십시오.
관련 문제
- 1. GDB는
- 2. GDB는 다른 프로세스의 실행을 어떻게 중단합니까? GDB는 어떻게 작동합니까?
- 3. gdb는 구조체 인쇄를 어떻게 구현합니까?
- 4. gdb는 에러를 발생 시키지만, 프로그램은 정상적으로 실행됩니다.
- 5. GDB는 주소 값에 대해 의문을 품습니다.
- 6. GDB는 iPhone OS App 이후에 출시됩니다.
- 7. gdb는 명령 줄에서 작동하지만 스크립트에서는 작동하지 않습니다.
- 8. "watch"GDB는 어떻게 사용할 수 있습니까?
- 9. MIPS Linux에서 backtracing 할 때 GDB는 함수의 심볼을 어떻게 찾습니까?
- 10. gdb는 for 루프 내에 선언 된 변수를 볼 수 없습니다.
- 11. Gdb는 간단한 std :: string 캐치되지 않는 예외에 스택을 제공하지 않습니다.
- 12. GDB는 다음 MAIN.CPP으로, 나는 C++ 응용 프로그램을 가지고
- 13. GDB는 "런타임 샘플링"을 지원합니까 아니면 사용자가 "확장자"를 가지고 있습니까
- 14. GDB는 C 프로그램의 코어 덤프에서 구조체의 크기를 출력 할 수 있습니까?
- 15. Eclipse에서 GDB가 "break main"을 실행하는 것을 멈추는 방법?
- 16. GDB로 디버깅 템플릿
- 17. MacOSX/PPC에서 0x0000000000000000에 KERN_PROTECTION_FAILURE를 잡는 방법에 대한 제안
- 18. gdb가 자동으로 SIGSEGV에 프로세스를 첨부 할 수 있습니까?
- 19. gdb가 일시적으로 페이지에 쓰기 권한을 부여합니까?
- 20. 분할 오류 후 GDB가 반환되지 않습니다.
- 21. gdb가 간단한 프로그램에서 잘못된 값을보고합니다. 왜?
- 22. C - for 루프 내에서 for 루프의 최대 값을 감소시킬 수 있습니까? 예를 들어
- 23. gcc를 사용하여 C++에서 빌드 한 ELF 바이너리가있는 경우, 그 중 일부 유형의 크기를 어떻게 확인할 수 있습니까?
- 24. mingw gcc 컴파일 및 gdb 디버깅
- 25. 디버그 심볼이로드되지 않은 경우 어떻게 gdb가`main`을 해석합니까?
- 26. gdb에서 어떤 스레드가 단언 되었습니까?
- 27. C 함수에서 objective-C 함수를 호출하는 방법
- 28. gdb가 C++ 용 stacktrace를 재구성하는 방법은 무엇입니까?
- 29. gdb 소스 디렉토리 검색
- 30. 파이썬에서 대화 형 프로그램 (gdb 등)을 시작하려면 어떻게해야합니까?