최근 우분투를 MacOSX로 전환했습니다.MacOSX에서 멀티 스레드 C++ 디버깅을위한 유용한 도구가 있습니까?
최근 멀티 스레딩을 많이 사용하기 시작했습니다.
MacOSX에서 멀티 스레드 응용 프로그램을 디버깅하기 위해 g ++에 좋은 추가 기능/대안이 있습니까? 특히, 나는 클래스/구조체를 "찌르는"도구에 관심이있다. 포인터를 따르고, 회원을 확장하고, 회원의 가치를 보여줄 수 있습니다.
고마워요!
최근 우분투를 MacOSX로 전환했습니다.MacOSX에서 멀티 스레드 C++ 디버깅을위한 유용한 도구가 있습니까?
최근 멀티 스레딩을 많이 사용하기 시작했습니다.
MacOSX에서 멀티 스레드 응용 프로그램을 디버깅하기 위해 g ++에 좋은 추가 기능/대안이 있습니까? 특히, 나는 클래스/구조체를 "찌르는"도구에 관심이있다. 포인터를 따르고, 회원을 확장하고, 회원의 가치를 보여줄 수 있습니다.
고마워요!
Xcode와 Shark 및 CHUD는 원하는 것을 수행하지 않습니까?
스핀 및 프롬 넬을 살펴보십시오. Spin은 코드가 안전과 생동감을 잃어 버릴 수있는 모든 상태를 관통하는 모델 검사기입니다. 원하는대로 스핀을 사용하면 스스로 단계를 밟을 수 있으며 다음에 실행할 옵션과 필요한 값을 선택할 수 있습니다. 당신은 C와 비슷한 promela 코드에서 테스트하고자하는 섹션을 작성해야합니다. 스핀은 일반적인 디버깅 도구보다 낫습니다. 멀티 스레드 프로그램은 매번 같은 방식으로 실행되지 않으므로 모델 검사기가 표준 디버거보다 유용합니다.
내가 찾은 가장 좋은 방법은 ** 원하는 ** 로그 **입니다! 나는 디버거가 멀티 스레드 프로그램에서 작동한다고 믿지 않았다. 나는 학생이며, 아마도 나의 관찰은 당신의 경우와 덜 관련이 있을지도 모른다. – AraK
우선, 스레드 안전 로거가 필요합니다. 또한 로깅은 스레드가 동기화되고 크게 작동하는 방식을 바꿀 수 있으므로 로깅을 설정할 때 버그가 나타나지 않을 수 있습니다. – matt
@matt C/C++에는 여러 가지 훌륭한 로깅 프레임 워크가 있습니다. 우선,'printf'는'POSIX'에서 스레드로부터 안전합니다. – AraK