2010-12-14 3 views
1

원래 마이크로 프로세서 용으로 작성된 더 큰 C 코드베이스 용 C++ 래퍼 (클래스)를 만들었습니다. 이제이 C 코드를 실행하는 "에이전트"의 여러 인스턴스를 시뮬레이션하려고합니다. 상호 작용하는 방식을보고 싶을 때 동시에 실행해야합니다. 가능하다면, 우리는 그것들을 하나의 프로세스로 실행하고 싶습니다.C 코드베이스에서 전역 변수/정적 변수를 찾을 수있는 도구

C 코드가 정적 변수를 사용하여 스레드로부터 안전하지 않기 때문에 처음에는 실패했습니다. 우리는 정적 변수와 전역 변수를 모두 제거했지만 여전히 예상 결과를 얻지 못했다고 생각했습니다. (모든 인스턴스가 하나만 있으면 잘 실행됩니다.)

내 질문은 : 대신 전체 코드베이스에서 이러한 변수를 검색하는 대신 문제를 찾는 데 도움이되는 도구가 있습니까? C 코드는 Keil μVision으로 작성되었으며 현재 Visual Studio 2008 Team Suite에서 컴파일됩니다.

제안 해 주셔서 감사합니다. 좀 더 유닉스 틱 환경을 구축 할 수있는 경우

답변

1

, 당신은 당신이 당신에게 각 .o 파일에 대한 databss 세그먼트 크기를 말할 것이다 .o 파일을 실행할 수있는 size 명령이 있어야합니다. 이것은 정적 저장 기간의 변수를 찾는 매우 빠른 방법입니다.이 필드 중 하나에서 0이 아닌 크기를 찾습니다.

아마도 mingw 또는 cygwin을 사용하여 빌드하거나 MSVC 도구 세트에서 비슷한 도구를 찾을 수 있습니다.

+2

MSVC와 비슷한 도구를 찾으셨습니까? –

관련 문제