2008-09-16 8 views
3

다중 스레드 (pthreads)로 디버깅 할 때 GDB에 심각한 문제가 있습니다. * nix에 C/C++ 용으로 좋은 멀티 스레드 디버거가 있습니까?다중 스레드 디버거

+0

'gdb'태그가 지정되어야합니다. – jfm3

+0

여러 번 instanctiated 스레드 클래스를 디버깅하는 데 문제가있는 것 같습니다 (분할 오류). 그것은 나입니까, 아니면 GDB의 잘못입니까? 런타임에 나는 어떤 seg faults도 가지고 있지 않다. –

+0

당신은 그런 것을 위해 새로운 질문을 게시 할 필요가있다, Yan. 또한, 그렇게 할 때/* 더 많은 정보를 제공 할 것을 권합니다. 문제 해결에 도움이되는 유용한 정보는 제공하지 않았습니다. – ELLIOTTCABLE

답변

1

내 검색에서 * nix에 대한 좋은 멀티 스레드 디버거를 찾지 못했습니다. GDB가 나아지고있는 것처럼 보였고 FreeBSD (7.0-RELEASE)에서 다중 스레드 응용 프로그램을 디버깅해야했던 마지막 순간에 오류가 발생한 위치를 알 수있게되어 꽤 잘 작동했습니다.

0

한 번 gdb 대안을 찾았지만, 불행히도 내가 찾은 모든 것은 gdb를 기반으로했습니다. 나는 gdb가 gcc에 복잡하게 묶여 있기 때문에 써드 파티 디버거가 모든 gcc 변경 사항을 따라 잡기가 어렵다고 생각합니다.

4

TotalView은 거대한 클러스터에 대해 국가 연구실에서 사용하는 것입니다. 스레드 병렬 처리에 대한 지원도 훌륭하다고 생각합니다. 아마 가격 범위를 벗어난 것이지만 무료로 사용해 볼 수 있습니다.

6

멀티 스레드 응용 프로그램을 디버깅 할 때 GDB 관련 문제가 개인적으로 발생하지 않았으므로 정확하게 "문제"에 대해 자세히 설명하는 것이 좋습니다. 그것은 우리가 당신에게 더 잘 대답하는 데 도움이 될 것입니다.

Linux에서 멀티 스레드 응용 프로그램을 디버깅 할 때 과거에 사용했던 몇 가지 보조 기능이 있습니다. 대부분의 기능은 대체하지 않고 GDB를 기반으로합니다. 이들은 다음을 포함한다 :

또한 리눅스에서 디버깅 할 새로운 (그리고 심지어 경우 경우 그렇지 않습니다!) 여기에서 찾을 수있는 "Linux 응용 프로그램 디버깅"이라는 제목의 논문을 적극 권장합니다.

http://www.scribd.com/doc/3009706/Debugging-Linux-Applications

5

Allinea DDT ... C, C++ 및 Fortran으로 작성된 스칼라, 멀티 스레드 및 대규모 병렬 응용 프로그램을위한 그래픽 디버거.

0

Windows 용 AIX 디버거는 다중 스레드 응용 프로그램을 디버그합시다.