2010-12-22 5 views
1

디버깅과 함께 실행할 수 있으며 릴리스 모드에서 실행할 수 있지만 디버깅하지 않으면 실행할 수 없습니다. 나는 꽤 어딘가에 비주얼 스튜디오에서 구성을 엉망으로 만들었지 만 확실하지는 않다. 컴퓨터가 정지되었습니다. 실수로 무언가를 클릭했을 수 있습니다. 그것은 정상적으로 작동합니다. 아무도 아이디어가 있니? 고맙습니다!디버깅하지 않고 VC++ 프로그램을 실행할 수 없습니다.

편집 : 프로그램은 F5와 작동합니다. 또한 구성을 Release로 설정하고 실행 파일을 실행할 때도 작동합니다. 그러나 Ctrl + F5가 작동하지 않으며 생성 된 실행 파일이 작동하지 않습니다. alt text

심지어 같은 결과 안전 소스에서 전체 솔루션을 점점 시도 ...

편집 2 :

난 그냥 창문을 말하는 오류가

해결책 다음이 찾고 있습니다 :

*** ERROR: Symbol file could not be found. Defaulted to export symbols for mfc71d.dll - 
+0

더 명확 할 수 있습니까? Ctrl + F5가 주어 졌을 때 프로그램이 작동하고 F5에서 작동하지 않는다고 말하려고합니까? – ckv

+0

err가 자세한 내용을 볼 때 가장 일반적인 이유는 FileNotFoundException입니다. 앱에 찾을 수없는 DLL이 필요합니다 –

+0

업데이트 된 질문 – ntsue

답변

0

는 전체가 다시 일을 시도 유무 : 아래 나에게 주어진 windbg를 조언을 따른 후,이 오류에 도착? 모든 중간 및 출력 파일을 수동으로 제거 할 수 있습니까?

+0

응답 주셔서 감사합니다. 그래, 내가 재건을 했어 ... 심지어 기계를 재부 팅 .. 행운을 빌어 요 – ntsue

2

내 생각에 프로그램에서 초기화되지 않은 변수와 같은 일부 정의되지 않은 동작이있는 것 같습니다. 디버깅 모드에서는 메모리 초기화와 같은 작업을 수행하고 최적화 작업을 수행하지 않으므로 충돌이 발생하지 않습니다.

야생 포인터 실수를 확인하고 초기화되지 않은 메모리 문제가 있는지 확인하십시오. 그리고 C++ 컴파일러의 경고 수준을 수준 4 (실용 수준이 가장 높은 수준)로 설정합니다. 그게 당신이 이런 종류의 실수를 잡는 데 도움이 될 것입니다.

+0

답장을 보내 주셔서 감사합니다. 위의 편집을 감안할 때 ...초기화되지 않은 변수를 문제로 배제 할 수 있다고 생각합니까? 감사!! – ntsue

2

프로그램이 고장난 것 같습니다. 또한 GUI가 크래시 덤프를 가리키고있는 것처럼 보입니다. 덤프를 검사하는 방법은 다음과 같습니다.

Microsoft에서 "Debugging tools for Windows"을 다운로드하십시오. 그것을 설치하십시오.

> .sympath+ [path to your VS output folder (eg. "Release"). 
      That is, somewhere with a .pdb file for your binary] 
> .reload -f [name of your binary] 
> k 
:

유형은 해당 명령 프롬프트에 다음과 ... 시작 WINDBG 때

> cd \Program Files\Debugging Tools for Windows (x64) [or possibly without (x64)] 
> windbg -z C:\users\ntsoiasue\appdata\local\temp\wer3f91.tmp.mdmp 

, 그것은 당신에게 명령 프롬프트를 줄 것이다 :

그런 다음 명령 프롬프트에서 실행

충돌의 스택 추적을 제공합니다.

그건 그렇고. Windbg은 꽤 좋은 도구이며 알만한 가치가 있습니다.

+0

답변 해 주셔서 대단히 감사합니다. 내가 지정한 지침을 따르고이 오류가있는 추적에서 : *** 오류 : 기호 파일을 찾을 수 없습니다. mfc71d.dll - 에 대한 기호를 내 보냅니다. 우리가 말하고있는대로 검색 중입니다. 통찰력이있는 경우에 대비하여 사용자를 계속 업데이트하고 싶습니다. 감사!! – ntsue

+0

@ntsue mfc71d는 C 라이브러리입니다. 특히 디버그 버전. 그것을 위해 PDB를 찾을 수 없다는 것입니다. "k"의 완전한 출력은 무엇이라고 말합니까? – asveikau

0

나에게도 일어난 일입니다. 나는 vC++의 전체 제거를해야했다. 컴퓨터를 재부팅하고 다시 설치하십시오. 저에게 도움이되었습니다.

관련 문제