source

C/C++ 소스 코드 시각화

goodcode 2022. 8. 27. 09:29
반응형

C/C++ 소스 코드 시각화

기본적으로 다음과 같은 소스 코드 시각화를 생성하는 도구를 원합니다.

  • 함수 호출 그래프
  • 의존성 그래프
  • ...

Doxygen은 그래프 그리기에 GraphViz를 설치해야 하지만 매우 적합합니다.

모든 것을 설치하고 나면 그래프를 그리는 것은 매우 간단합니다.EXPLT_ALL 및 CALL_GRAFH 를 true 로 설정하고 있는 것을 확인해 주세요.

doxygen의 이 함수에 대한 전체 설명서는 여기에 있습니다.

BOUML을 강력히 추천합니다.무료 UML 모델링 어플리케이션으로, 다음과 같습니다.

  • 매우 빠릅니다(지금까지 작성된 UML 툴 중 가장 빠릅니다.벤치마크를 확인해 주세요).
  • 견고한 C++ Import 지원을 가지고 있습니다.
  • 는 SVG 내보내기를 매우 지원합니다.이것은 중요합니다.왜냐하면 큰 그래프를 벡터 형식으로 표시하기 때문에 다음과 같이 빠르게 스케일링할 수 있기 때문입니다.Firefox는 매우 편리합니다(「버드 아이」뷰와 클래스 상세뷰를 빠르게 전환할 수 있습니다).
  • 풀기능을 탑재해, 대폭적으로 개발되고 있습니다(개발 이력을 보면, 이렇게 빠른 진보를 기대할 수 없습니다).

코드를 BOUML로 Import하여 표시하거나 SVG로 내보내고 Firefox로 표시하십시오.

무료 버전의 경우:

  • 소스가 DoUML로서 Github에 있습니다.
  • 인스톨러는, http://www.bouml.fr/download.html 에서 다운로드할 수 있습니다.

Visual Studio를 사용하는 경우 2010 Ultimate 릴리스를 통해 시퀀스 다이어그램 및 종속성 그래프를 생성할 수 있습니다.다만, 이 릴리스에서는 현재만을 서포트하고 있습니다.NET 어플리케이션프로젝트

팀은 향후 릴리즈에서 C++를 지원하는 것에 많은 관심을 가지고 있기 때문에 계속 시청하는 것이 좋을지도 모릅니다.한편, VS 2010 Architectural Discovery & Modeling Tools 포럼(http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads)에 투고하여 업데이트를 요청하실 수 있습니다.제품 팀은 도구에 대한 고객의 피드백을 듣는 것을 좋아합니다.

그동안 시퀀스 다이어그램 및 의존 관계 다이어그램 작성에 대한 자세한 내용은 에서 확인할 수 있습니다.다음의 토픽의 NET 코드:

방법: Architecture Explorer를 사용한 코드 검색:http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

방법: 코드: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource 에서 그래프 문서 생성

순서도를 사용한 코드 탐색:http://msdn.microsoft.com/en-us/library/ee317485%28VS.100%29.aspx

RC 릴리스를 사용해 보고 피드백을 제공하려면 http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a에서 다운로드하십시오.

doxygen을 시험

Xerces로부터의 출력 예

위의 필기 도구 외에도 이해하려고 노력하십시오.하지만, 그것은 무료가 아니다.

소프트웨어 설계 및 모델링을 위한 다양한 도구(Rational Rose, Sparx Enterprise Architect, Umbrello 등)를 볼 수 있습니다.이들 대부분은 소스 코드에 의한 리버스 모델링, UML 클래스 다이어그램 취득, 그리고 때로는 시퀀스 다이어그램 취득(그리고 이것은 함수 콜 그래프에 매우 가까운) 기능을 가지고 있습니다.

그러나 매우 큰 프로젝트 코드 베이스에서 사진을 몇 장 얻으면 이러한 그래프는 읽고 이해하기 어렵다는 것을 알 수 있습니다.유감스럽게도 복잡성의 시각화 기능은 매우 제한적입니다.

나로서는 '나눗셈과 규칙'이라는 관용어를 사용하는 것이 더 설득력 있는 접근법이다.코드 베이스에서 다른 기능 블록 또는 레이어를 추출할 수 있습니다(cpp 파일을 다른 폴더별로 정렬하는 것만으로 충분합니다).또 다른 방법은 일부 스크립트(bash, python)를 사용하여 "의존관계 수"와 같은 파일, 클래스 또는 함수의 관심 있는 매개 변수를 사용하여 단순한 csv 테이블을 만드는 것입니다.

중복일 수도 있지만, olydbg, IDA Pro를 확인해 보세요.이 웹사이트에는 매우 섹시한 이미지의 자료가 많이 있습니다.

언급URL : https://stackoverflow.com/questions/27857/c-c-source-code-visualization

반응형