기본 Qt 객체 검사
디버거의 가장 강력한 기능은 ‘ Locals ’ 및 ‘ Expressions ’ 뷰에서 Qt XML의 기본 객체에 속한 데이터를 보여준다는 점입니다. 예를 들어, ` QObject`의 경우, 어떤 비공개 데이터 구조체에 대한 포인터 대신 자식, 시그널 및 슬롯의 목록을 볼 수 있습니다.
마찬가지로, Qt Creator 의 디버거는 수많은 포인터와 정수 값을 표시하는 대신 QHash 이나 QMap 의 내용을 체계적으로 보여줍니다. 또한, 디버거는 QFileInfo 에 대한 액세스 데이터를 표시하고 QVariant 의 실제 내용을 보여줍니다.
값 표시 형식 변경
Locals 또는 Expressions 보기에서 컨텍스트 메뉴의 Change Value Display Format 을 선택하여 값 표시 형식을 변경할 수 있습니다. 사용 가능한 옵션은 현재 항목의 유형에 따라 다르며, 디버깅 헬퍼에 의해 제공됩니다.
구조체를 C 언어 스타일의 단순 형식으로 강제로 표시하려면, ‘ Preferences ’ > ‘ Debugger ’ > ‘ Locals & Expressions ’로 이동한 후 ‘ Use Debugging Helpers ’의 선택을 해제하십시오.

이 경우에도 여전히 파이썬 스크립트가 사용되지만, 더 기본적인 형식의 출력이 생성됩니다. 단일 객체나 특정 유형의 모든 객체에 대해 일반 표시를 강제 적용하려면, ‘ Locals ’ 또는 ‘ Expressions ’ 보기의 컨텍스트 메뉴에서 ‘ Change Value Display Format ’ > ‘ Raw ’을 선택하십시오.
일반적으로 ‘ QByteArray ’ 및 ‘ std::string ’과 같은 문자열 형식의 데이터에 대해서는 인코딩을 변경하거나, 전체 편집기 창에서 데이터를 표시할 수 있습니다.
QMap, QHash, std::map 과 같은 맵 형태의 데이터에 대해서는 ‘ Name ’ 열을 키로 사용하는 ‘compact’ 옵션을 선택할 수 있으며, 이 경우 숫자나 짧은 문자열과 같은 짧은 키를 가진 컨테이너가 간결하게 표시됩니다. 예를 들어, QMap 의 모든 값을 확장하려면 ‘ Change Value Display Format ’ > ‘ Compact ’을 선택하십시오.
문자열의 경우, ‘ Change Value Display Format ’ > ‘ Separate Window ’을 선택하면 뷰에 단일 행 항목으로 표시되는 대신 텍스트 편집기 내에서 문자열 내용을 확인할 수 있습니다. QPixmap 의 경우, 코드를 단계별로 실행할 때 픽셀 단위로 생성되는 픽스맵을 확인할 수 있습니다.
변수 값 변경
Locals 및 Expressions 뷰를 사용하여 애플리케이션이 일시 중지된 상태에서 int, float, QString, std::string 와 같은 단순 데이터 유형 변수의 내용을 변경할 수 있습니다. 이를 위해 Value 열을 선택한 후, 인플레이스 편집기를 사용하여 값을 수정하고 Enter 키를 누르십시오.
QVector 또는 std::vector 값의 전체 내용을 변경하려면, 메인 항목의 Value 열에 모든 값을 쉼표로 구분하여 입력하십시오. 단, Qt Creator 는 변수에 대한 메모리 재할당을 시도하지 않으므로, 새 내용이 기존 메모리에 들어갈 수 있고 디버거가 값 변경을 지원하는 경우에만 변경 사항이 적용됩니다.
신호-슬롯 연결
클래스의 인스턴스가 ` QObject`에서 파생된 경우, Qt XML의 시그널 및 슬롯 메커니즘을 통해 이 객체의 슬롯에 연결된 다른 모든 객체를 찾을 수 있습니다. ` Preferences ` > ` Debugger ` > ` Locals & Expressions ` > ` Use Debugging Helpers`로 이동하십시오.
Locals (신호 및 슬롯) 뷰에서 해당 객체의 항목을 확장하고 slots 하위 항목에서 슬롯을 엽니다. 이 뷰에는 해당 슬롯에 연결된 객체들이 슬롯의 자식 항목으로 표시됩니다. 마찬가지로, 신호의 자식 항목도 표시할 수 있습니다.
저수준 데이터
데이터가 손상되어 Qt 객체를 디버깅할 수 없는 경우, 디버깅 헬퍼를 비활성화하여 저수준 구조를 표시할 수 있습니다.
디버깅 헬퍼를 비활성화하려면 ‘ Preferences ’ > ‘ Debugger ’ > ‘ Locals & Expressions ’에서 ‘ Use Debugging Helpers ’을 해제하십시오.
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.