GNU cflow 1.7은 이미 릴리스되었으며 새로운 명령 등이 제공됩니다.

XNUMX년의 개발 끝에 GNU cflow 유틸리티 1.7의 새 버전 릴리스가 발표되었습니다. 이 유틸리티를 모르는 사람들을 위해, 그들은 그것이 C 프로그램에서 함수 호출의 시각적 그래프를 작성하도록 설계됨, 응용 논리 연구를 단순화하는 데 사용할 수 있습니다.

도표또는 원본 텍스트의 분석만으로 구성됩니다., 프로그램을 실행할 필요 없이 순방향 및 역방향 흐름 그래프 생성과 코드가 있는 파일에 대한 상호 참조 목록 생성을 지원합니다.

패키지는 완벽하게 작동하며 모든 GNU/Linux 배포판과 최신 UNIX 계열 시스템에서 컴파일 및 실행됩니다. POSIX에 필요한 모든 라인 전환 명령을 지원합니다. GNU cflow 형식(기본값)과 POSIX 형식의 두 가지 형식으로 출력을 생성할 수 있습니다.

현재 유틸리티는 C 글꼴만 처리할 수 있습니다. 이는 YACC 및 LEX 글꼴과 바이너리 개체 파일을 처리할 수 있어야 하는 POSIX 사양과의 유일한 편차이기 때문입니다.

cflow-mode.el Emacs 모듈은 GNU cflow 형식(POSIX 형식과 반대)의 파일과 함께 작동하며 Emacs 24.2.1에서 테스트되었습니다.

GNU cflow 1.7의 주요 새로운 기능

이 새로운 릴리스 버전에서 "점" 출력 형식에 대한 지원을 구현한 것으로 유명합니다. ('-format=dot') Graphviz 패키지에서 추가 처리를 위해 DOT 결과를 생성합니다.

또한 '-main' 옵션을 복제하여 여러 시작 기능을 지정하는 기능을 추가했습니다. 각 기능에 대해 별도의 그래프로 생성됩니다.

옵션이 추가되었음을 알 수 있습니다. 결과 그래프를 하나의 분기로만 제한하려면 "–target=FUNCTION" 여기에는 특정 기능이 포함됩니다("-target" 옵션은 여러 번 지정할 수 있음).

이 새 버전의 GNU cflow 1.7에 통합된 또 다른 변경 사항은 차트 탐색을 위한 새로운 명령이 추가되었습니다. cflow-mode:"c"는 호출 함수로 이동하는 데 사용되며 "n"은 이 중첩 수준의 다음 함수로 이동하는 데 사용되며 "p"는 동일한 수준의 중첩으로 이전 함수로 이동합니다. .

다른 한편, 이 새로운 버전의 GNU cflow 1.7 발표에서도 언급되었습니다. 두 가지 취약점 제거 cflow에서 특수하게 조작된 소스 텍스트를 처리할 때 메모리 손상을 일으키는 2019년에 확인되었습니다.

수정된 취약점 중 다음이 언급되었습니다.

  • 첫 번째 취약점(CVE-2019-16165)은 파서 코드(parser.c에서 참조된 함수)에서 free(use-after-free) 후에 메모리에 액세스할 때 발생합니다.
  • 두 번째 취약점(CVE-2019-16166)은 nexttoken() 함수의 버퍼 오버플로와 관련이 있습니다. 개발자의 의견으로는 이러한 문제는 유틸리티의 비정상적 종료로 제한되기 때문에 보안 위협을 나타내지 않습니다.

최종적으로 그것에 대해 더 많이 알고 싶다면 이 새 버전에 대한 자세한 내용은 다음 링크.

Linux에 cflow를 설치하는 방법은 무엇입니까?

시스템에 이 유틸리티를 설치하는 데 관심이 있는 사람들은 cflow가 일부 주요 Linux 배포판의 저장소 내에 있다는 것을 알아야 합니다. 나는 새 버전이 아직 그들 중 일부에서 구현되지 않았다는 것을 언급해야 하지만, 그것은 며칠 안에 준비될 것입니다.

Debian, Ubuntu 또는 이들의 파생 제품 사용자의 경우 다음 명령을 입력하여 터미널에서 설치할 수 있습니다.

sudo apt install cflow -y

Arch Linux, Manjaro 또는 이들에서 파생된 기타 배포 사용자의 경우 AUR 저장소에서 설치를 수행해야 합니다.

yay -s cflow

새 버전을 컴파일하는 데 관심이 있는 사람들은 다음에서 얻을 수 있습니다. 다음 링크.