디버그 모니터
이것은 개발자에게 디버깅 및 문제 식별을 쉽게 하기 위해 제공되는 주요 개발 도구입니다. 이 기능을 통해 개발자들은 텍스트 기반 포맷으로 출력하여 정보를 전송함으로써 중요한 이벤트, 데이터베이스 상태, 예외 등을 로그할 수 있습니다.
이 서비스의 마법은 디버그 버전뿐만 아니라 최종 컴파일에서도 사용할 수 있다는 것입니다.
당신이 해야 할 것은 다음과 같습니다:
- 당신이 원하는 런타임 정보를 보존하기 위해 당신의 소스 코드로부터 GSRoot 모듈의 Debug Manager 함수들을 호출합니다.
(
DBPrintf
,DBAssert
,DBBreak
...등) - ArchiCAD가 실행 전/중에 디버그 모니터 애플리케이션을 시작합니다.
- 관심 있는 정보를 보려면 디버그 모니터의 로그 창의 내용을 확인하십시오.
더 자세한 것은 Graphisoft Root Package 디버그 관리자 문서를 참고하십시오.
예제 프로젝트들은 주로 API에서 리턴한 오류 코드를 캐치하기 위해 이 서비스를 광범위하게 사용합니다. 예제 소스들을 분석하여 이 서비스가 무슨 목적으로 사용될 수 있는지 힌트를 얻을 수 있습니다.
참고:
make 스크립트로 전달된 디버그 레벨을 기반으로 DEBUVERS
컴파일러 지시가 자동으로 설정됩니다.
GSRoot 모듈은 이 스위치에 따라 일부 매크로와 새로운 서비스를 설정합니다.
- Debug Manager 함수들은 어떤 환경에서도 호출될 수 있으며, 그 출력은 아무런 조건 없이 로그 창에 표시될 것입니다.
- (
DBPRINTF
,DBASSERT
,DBBREAK
...등과 같은) 매크로들은DEBUVERS
가 정의되었을 경우에만 효과를 가질 것입니다. 예.#ifdef DEBUVERS
조건이 true일 때.
Mac OS X에서 디버그 메시지들이 Console.app (Apple에서 제공하는 애플리케이션, Applications/Utilities 폴더)에 의해 자동으로 로그되기 때문에 이 애플리케이션이 더 이상 필요하지 않습니다.
중요:
디버그 모니터는 ArchiCAD에서 광범위하게 사용됩니다. 이는 ArchiCAD 소스 코드에서 많은 정보가 로그 창으로 전송된다는 것을 의미합니다. 당신의 함수들이 완벽하게 코딩되거나 환경에 내장되지 않기 때문에 문제가 부각될 수 있습니다. ArchiCAD 세계가 매우 복잡하기 때문에 로그 창에서 강조된 모든 정보 - 특히 문제를 보고하는 정보에 - 초점을 맞추십시오. 당신의 함수들이 다른 서비스들에 원치 않는 영향을 미칠 수 있습니다.