program tip

메이크 파일 디버깅 도구

radiobox 2020. 12. 1. 07:51
반응형

메이크 파일 디버깅 도구


변수가 많은 매우 복잡한 메이크 파일이 포함 된 대규모 레거시 코드베이스가 있습니다. 때로는 변경해야 할 때가 있는데, 변경이 내가 예상 한대로 작동하지 않는 이유를 파악하는 것이 매우 어렵다는 것을 알게됩니다. 내가 찾고 싶은 것은 기본적으로 "만들기"프로세스의 단계별 디버깅을 수행하는 도구입니다. 여기서 디렉토리를 제공하고 다른 지점에서 다른 변수의 값을 볼 수 있습니다. 방법. 내가 원하는 것을 보여주지 않는 디버그 플래그는 비록 내가 뭔가를 놓치고있을 가능성이있다. 누구든지 이것을하는 방법을 알고 있습니까?


당신은 실행 출력에서 찾고 적이 make -n하고 make -np, 그리고 문제 야 make -nd?

의 최신 버전을 사용하고 gmake있습니까?

O'Reilly의 사이트에서 "Managing Projects with GNU Make"( Amazon Link ) 에 대한 무료 챕터 Debugging Makefiles를 보셨습니까?


나는 리메이크 가 당신이 찾고있는 것이라고 확신합니다 .

홈페이지에서 :

remake 는 개선 된 오류보고, 이해 가능한 방식으로 실행 추적 기능 및 디버거를 추가하는 GNU make 유틸리티의 패치 및 현대화 된 버전입니다.

그것은 gdb와 유사한 인터페이스를 가지고 있으며 (x) emacs에서 mdb 모드로 지원됩니다. 즉, breakponts, watch 등을 의미합니다. 그리고 (x) emacs가 마음에 들지 않으면 DDD 가 있습니다.


make 명령 줄 옵션의 man 페이지에서 :

-n, --just-print, --dry-run, --recon  
Print the commands that would be executed, but do not execute them.  

-d  Print debugging information in addition to normal processing.  
The debugging information says  
which files are being considered for remaking,  
which file-times are being compared and with what results,  
which files actually need  to  be  remade,  
which implicit  rules are considered and which are applied---  
everything interesting about how make decides what to do.  

--debug[=FLAGS] Print debugging information in addition to normal processing.  
If the FLAGS are omitted, then the behaviour is the same as if -d was specified.  
FLAGS may be:  
'a' for all debugging output same as using -d,  
'b' for basic debugging,  
'v' for more verbose basic debugging,  
'i' for showing implicit rules,  
'j' for details on invocation of commands, and  
'm' for debugging while remaking makefiles.  

나는 당신이 원하는 것을 정확히 수행하는 특정 플래그를 알지 못하지만

-인쇄 데이터베이스
유용 할 것 같습니다.


http://gmd.sf.net에 GNU make 디버거 프로젝트가 있는데 꽤 유용 해 보입니다. gmd가 지원하는 주요 기능은 중단 점으로 스테핑보다 더 유용 할 수 있습니다. 이를 사용하려면에서 GMD로 다운받을 http://gmd.sf.net 에서와 GMSL http://gmsl.sf.net , 그리고 당신의 메이크에 'GMD 포함'할.


리메이크-디버거 모두

더 많은 정보 https://vimeo.com/97397484

https://github.com/rocky/remake/wiki/Installing

참고 URL : https://stackoverflow.com/questions/54753/tool-for-debugging-makefiles

반응형