2011-03-15 7 views
9

저는 Windows 7 64 비트에서 Qt 4.7.1과 함께 Qt Creator 2.01 32 비트를 사용하고 있습니다. Microsoft Visual C++ 2010을 사용하여 Qt 라이브러리를 컴파일했습니다. Qt Creator에서 CDB (또는 GDB)을 사용하고 싶습니다. CDB로 디버깅 할 수 있기 위해서는 정확히 무엇이 필요합니까 (브레이크 포인트를 설정하고 기호를 볼 수 있습니까?).CDB에서 Qt Creator를 사용하려면 어떻게해야합니까?

내가 거기에 있었기 때문에 http://qt-project.org/doc/qtcreator-2.8/creator-debugger-engines.html을 가리키고 있지 않습니다. 아직 뭔가가 누락되어 있습니다. 디버거 도구로 Windows SDK가 설치되어 있습니다 (하지만 64 비트 버전이라고 생각합니다). 내가 찾고있는 것은이 모든 설정을 얻기 위해 Qt Creator에서 설정해야하는 옵션입니다.

편집 : 또한 나는 내가 F5 내 응용 프로그램이 시작을 칠 수 있기 때문에 작품의 디버거의 종류를 생각 명확히해야하고 내가 선택할 수 있습니다 "debug-> 중단"하고 중지하는 것 같다. 그러나 호출 스택에서 함수 이름은 맹 글링 된 것처럼 보이고 편집기에 설정된 중단 점은 중단되지 않습니다. F10을 클릭하면 어셈블리 모양의 코드가 단계별로 실행됩니다. 어쩌면 내가 DLL을 만들고있어 F5을 설정하여 부모 DLL을로드하고 DLL을 호출하도록 할 수 있습니다.

답변

4

Qt가 MSVC로 컴파일되었으므로 가장 좋은 옵션은 실제로 CDB입니다 (예 : MinGW 컴파일 된 버전과 같은 GDB의 경우).

디버깅은 기본적으로 수행되어야합니다. 내가 생각할 수있는 첫 번째 요점은 Qt Creator가 Windows 용 디버깅 도구를 볼 수 없는지 여부입니다. CDB 옵션 페이지에서 해당 경로 (및 버전)가 올바르게 지정되었는지 확인 했습니까?

또한 Qt Creator 2.1 (지역에서 개선 된 부분이 많음)으로 전환 한 것으로 생각하십니까? CDB 엔진의 전체 리팩토링을 포함하는 2.2 branch의 자동 컴파일 버전입니다.

+0

그들이 2.1을 가졌다는 것을 깨닫지 못했습니다. 방금 SDK 패키지를 다운로드했는데 (불과 몇 주 전) 2.0.1이었습니다. 나는 새로운 버전을 얻을 것이다. – User

+0

내 질문에 편집 됨 – User

+0

2.1을 설치 한 후 CDB를 설치하면 Debugger Tools For Windows redist 디렉토리에 대한 경로가 이미 채워져 있습니다. 내부에 32 비트 버전의 Windows 디버거가 있으므로 설치 한 다음 해당 설치 디렉터리의 경로를 설정합니다. 그래서 나는 그것이 작동하고 있다고 생각하는데, 나는 문제가 내가 DLL을 디버깅하고 있다고 생각한다. – User

2

Windows 7 (버전 7.1 이상) 용 Microsoft SDK를 설치하고 Windows 용 디버깅 도구 상자를 선택하십시오. mtw가 아닌 ​​msvc 버전의 Qt를 선택했는지 확인하십시오. 다음 번에 응용 프로그램을 디버깅 할 때 Windows 용 디버깅 도구가 설치되어 있으면 심볼 서버를 설정하라는 메시지가 표시됩니다. 예를 클릭하면 모든 설정이 완료됩니다.

0

이 경우 누구에게 도움이 될지 모르지만 Windows Vista에서는 Qt 4.7.4을 기준으로 Qt Creator 2.3.1을 사용하고 있습니다.

나는 디버깅을하는 데 끔찍한 문제가 발생했습니다. 그것은 프로젝트의/debug 폴더에 빌드되지 않았으므로 Debug (F5)를 실행했을 때 실패했거나 그런 응용 프로그램이나 디렉토리는 없다고 말했습니다. 빌드 설정 변경 및 새로운 디버그 빌드 만들기로 바뀌지 만/release 폴더 (내 앱을 만드는 위치)는 잘 작동합니다.

관련 문제