임베디드 장치와 통신하는 "유산"문제가 있습니다.이 응용 프로그램은 자동차의 Electonic Control Units (ECU)이 "app"-> USB 포트를 통해 자동차 ECU와 통신 -> 일부 장치 -> 자동차 ECU를 통해 통신합니다.통신 타이밍 문제 해결 (C++ Windows 응용 프로그램)
거기에 약간의 타이밍 문제가있는 것 같습니다 (전화/응답은 일반적으로 100 밀리 초가되지 않아야합니다). 그리고 나는이 모든 것을 측정하기 위해 당신이 무엇을 추천하는지 궁금합니다. 나는 이런 종류의 문제에 대한 로거가 물론 도움이된다고 생각했지만, 많은 스레딩과 아마도 동기화가 관련되어 있음을 이해했거나 보았을 때. 스레딩은 물론 몇 가지 문제를 제기 할 수 있습니다. 스레드/동기화와 관련된 타이밍의 "전반적인"관점을 가질 수있는 방법이 있습니까? 예를 들어 스레드와 동기화 문제가있는 경우 프로파일 러 (샘플 데이터)가 예를 들어 대기/동기화와 관련된 타이밍을 알 수있는 방법이 있습니까? Visual Studio 2008을 사용하고 있지만 VS 2010을 사용하면 더 많은 도움이 될 수 있다고 생각합니다.
여기에 대해 Visual Studio Profiler (팀 에디션이 필요합니까?)를 권장합니까 아니면 다른 것이 있습니까? 감사
-Ghita
디버거에서 코드를 실행할 수 있습니까? [그럼 당신은 이것을 시도 할 수 있습니다.] (http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024) –
100ms는 거대합니다. 시간 ... 나는 당신이 무언가를 쫓고 있다고 생각하고 흥미로운 장소에 로깅을 두는 것만으로도 문제가 무엇인지 알 수있을 것입니다 ... – 6502
6502, 로깅에 의해서도이 문제를 해결할 생각입니다. 메모리 로거 ("프로파일 링"/ 프로그램의 끝에있는 정보 만 플러시)를 완료합니다. 다행스럽게도 핫스팟을 감지 할 수있는 코드를 충분히 이해할 수 있기를 바랍니다. – Ghita