우리는 BoundsChecker for Visual C++ 6 (나는 BoundsChecker 5 또는 6이라고 생각한다)과 함께 수년간 운영 해왔다. We''ve는 VS2008에 마침내 upgaded했다! 그리고 지금 구식의 BoundsChecker를위한 속행이 필요하다.C++ BoundsChecker followup
풍경은 어떻습니까?
어떤 도구가 있습니까?
마을에 새로운 아이들이 있습니까?
메모리 프로파일 러를 사용하는 문제를 다루는 새로운 아이디어가 있습니까?
최근에이 도구들을 사용한 경험이 있습니까?
권장 사항?
주 응용 프로그램은 많은 COM DLL이있는 C++이며 원시, C++ 및 COM 누수 및 개체를 추적하려고합니다. 이 크기의 Bounds Checker는 이미 많은 데이터와 한계를 분류하여 성능에 큰 어려움을 겪고있었습니다.
별도의 도구 일 수도 있지만 관리되는 응용 프로그램 (주로 C#)에 대한 지원이 필요합니다.
관련 (그러나 IMO 불완전) 질문 : Modern equivalent of BoundsChecker for Visual Studio 2008
[편집]
Regardign 주석, "현대 C++에서 방금 자기 검사 유형을 사용, 경계가 결코 깨지지 않습니다. " :
참조 카운트 된 스마트 포인터 순환 참조를 가질 수 있습니다. COM 구성 요소의 인터페이스는 본질적으로 안전하지 않습니다. 수동 메모리 관리가 많이 필요하기 때문입니다. UI가없는 타사 서비스 누수가 있었기 때문에 GDI는 우리의 야간 테스트를 중단 시켰습니다. 공급 업체는이를 "이상한"Microsoft API에 있다고 비난했습니다. 나는 C 기반 라이브러리를 인터페이스해야한다. 숫자 레시피의 의미에서 할당 트릭을 가정하는 레거시 코드가 많다. 3 글자보다 긴 변수 이름은 타이피스트를위한 것이다. 나는 std::vector<double>::iterator
이 double ***
보다 훨씬 무서워 보이는 엔지니어의 코드를 가지고 있습니다. 신호 처리의 견고한 배경없이 이들을 개발하고 테스트하는 행운을 빕니다.
여기에 오지 않는 한, 백만 줄의 코드 코어를 바보 같은 C++ 클래스로 다시 작성하고 캡슐화하고 수십 개의 제품이 이전처럼 작동하는지 확인하고 스마트하게 자신을 지키십시오. 메모리 검사기가 필요 없으면 좋겠어. 고맙습니다.
현대 C++에서는 자체 점검 유형을 사용하기 때문에 경계가 깨지지 않습니다. – Puppy
거의 재미있었습니다, DeadMG. – peterchen
@ 마이클 - 축하해!: D – peterchen