일반 디버거 환경 설정
모든 디버거에 공통적으로 적용되는 일반 환경 설정을 지정하려면, ‘ Preferences ’ > ‘ Debugger ’ > ‘ General ’로 이동하십시오.

디버그 보기의 모양과 동작을 사용자 정의하고, 중단점을 설정하며, 소스 경로를 대상 경로에 매핑할 수 있습니다.
디버그 출력은 ‘Debugger Log’ 뷰에서 확인할 수 있습니다. 그러나 Arch Linux와 같은 일부 Linux 배포판에서는 디버그 출력이 시스템 로그로 전송됩니다. 이 동작을 재정의하려면 ‘ Force logging to console ’를 선택하십시오. 이렇게 하면 디버그 대상 애플리케이션의 환경에서 ‘ QT_LOGGING_TO_CONSOLE=1 ’가 설정되어, 디버그 출력이 시스템 로그에 저장되는 것을 효과적으로 방지합니다.
중단점
중단점에 완전한 절대 경로를 사용하려면 ‘ Set breakpoints using a full absolute path ’를 선택하십시오.
GDB 및 CDB를 사용하면 코드가 생성되지 않은 소스 코드 줄에도 중단점을 설정할 수 있습니다. 이러한 경우, 중단점은 코드가 실제로 생성된 다음 소스 코드 줄로 이동됩니다. 소스 코드 편집기에서 중단점 마커를 이동하여 이러한 일시적인 변경 사항을 반영하려면, ‘ GDB ’ > ‘ Adjust breakpoint locations ’ 또는 ‘ CDB ’ > ‘ Correct breakpoint location ’을 선택하십시오.
GDB를 백엔드로 사용할 경우, Python을 사용하여 일반 GDB 중단점 클래스를 확장할 수 있습니다. ‘ GDB ’ > ‘ Use pseudo message tracepoints ’을 선택하십시오.
CDB를 백엔드로 사용할 경우, CDB > Break on 에서 환경 설정을 선택하여 C++ 예외, 스레드 생성 또는 종료, 애플리케이션 모듈의 로드 또는 언로드, 특정 출력 등과 같은 특정 이벤트 발생 시 디버거가 중단되도록 지정할 수 있습니다. 액세스 위반 예외에 대한 첫 번째 기회 중단(first-chance break)을 비활성화하려면 Ignore first chance access violations 를 선택하십시오. 두 번째로 액세스 위반이 발생하면 디버거로 중단됩니다.
오류 및 경고 메시지를 포착하기 위해 일부 함수에 중단점을 자동으로 추가할 수 있습니다. 자세한 내용은 CDB 및 GDB를 참조하십시오.
중단점에 대한 자세한 내용은 GDB 문서의 중단점, 감시점 및 캐치점을 참조하십시오.
소스 경로 매핑
라이브러리가 빌드된 위치와 다른 위치에 있는 소스 트리 사본을 사용할 때 디버거가 코드를 단계별로 실행하고 소스 코드를 표시할 수 있도록 하려면 소스 경로를 대상 경로에 매핑할 수 있습니다.
소스 경로를 패치되지 않은 Qt 버전에 자동으로 매핑하려면 ‘ Add Qt Sources ’를 선택하고 Qt 소스 파일의 위치를 찾아가십시오.
소스 경로를 대상 경로에 수동으로 매핑하려면:
- Source Paths Mapping 에서 ‘ Add ’를 선택하여 경로 목록에 항목을 추가합니다.
- Source path 에서 디버거가 보고한 실행 파일의 디버그 정보에 있는 소스 경로를 지정합니다.
- Target path 에서 로컬 컴퓨터에 있는 소스 트리의 실제 위치를 지정합니다.
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.