다음과 같은 문제가 있습니다 : 내 응용 프로그램은 코드 1로 종료됩니다. libc의 종료 지점에서이 문제를 일으키는 원인을 알기 위해 중단 점을 설정하고 싶습니다. 그러나이를 수행하는 방법을 모릅니다. MSVC 2012를 사용하고 있습니다. 도움을 주시면 감사하겠습니다.libc에 중단 점을 넣으려면 어떻게해야합니까?
답변
atexit()
과 작은 유틸리티 함수 또는 전역의 소멸자를 사용하십시오. 그러나 문제는 그것이 종료 될 때 무엇이든간에 스택 프레임이 빠져 나간다는 것입니다. 또한이 프로그램은 아마도 exit()
을 호출하지 않을 수도 있지만 어쩌면 TerminateProcess()
을 호출 할 수 있습니다. 텍스트에 "나와 함께 종료 됨"이라는 사실은 함수가 호출되었음을 의미하지 않으며 main()
에서 돌아 오는 것은 동일한 효과를가집니다.
내 조언은 프로그램을 종료시키는 코드를 찾기 위해 디버거에서 단계별로 수행하는 것입니다. 그러면 문제를 신속하게 파악할 수 있습니다. 또한 캐치되지 않은 예외와 같은 비정상적인 사항에 대한 디버그 출력을 확인하십시오. 예외가 잡히더라도 "first chance exception"메시지는 오해의 소지가 있습니다. 그래도 의심스러운 경우 예외가 발생하는 곳에서 IDE가 중지되도록 구성 할 수 있습니다.이 경우 IDE에서 해당 위치를 쉽게 찾을 수 있습니다.
안녕하세요, 둠스터 및 답변 해 주셔서 감사합니다. 이미 프로그램을 밟아 보았습니다. 끝까지 절대적으로 괜찮은 프로그램입니다. 예외 나 비정상적인 디버거 메시지는 전혀 발생하지 않습니다. – Aikei
나는 당신의 문제를 이해하지 못한다고 생각합니다. 끝까지 잘 진행되면 다음 단계가 종료됩니다. 그냥 추측 하겠지만,'main()'에'return true;'아마도? –
그게 전부 야. 나는 왜 exit 코드가 0이 아닌지 이해하지 못한다. 1. 내 메인의 끝에서 0을 리턴하고 실제로이 라인을 실행하지만, 디버거는 코드 1로 끝났다고 말한다. – Aikei
- 1. 응용 프로그램의 모든 MessageBox에 중단 점을 넣으려면 어떻게해야합니까?
- 2. 중단 점을 설정했으나 중단 점을 설정하지 않았습니다.
- 3. Xcode 4.5에 와치 포인트를 넣으려면 어떻게해야합니까?
- 4. 코드가없는 특정 위치에 중단 점을 만들려면 어떻게해야합니까?
- 5. geben 호출 중단 점을 지우려면 어떻게해야합니까?
- 6. 처음으로 중단 점을 사용합니다.
- 7. Windows가 중단 점을 트리거했습니다.
- 8. HeapFree 중단 점을 트리거했습니다.
- 9. 중단 점을 삭제하는 방법?
- 10. Xcode가 중단 점을 무시합니다.
- 11. 중단 점을 무시합니다.
- 12. 디버거 내가에 중단 점을 설정하고있어 중단 점
- 13. ** 속성을 넣으려면 어떻게해야합니까 ** response.sendRedirect() **
- 14. enums에 docstrings을 넣으려면 어떻게해야합니까?
- 15. 라이브러리에서 중단 점을 맞추는 방법?
- 16. gdb가 중단 점을 누르지 않음
- 17. C에서 중단 점을 찾는 방법 #?
- 18. Firebug에서 중단 점을 유지하는 방법
- 19. xcode 4.5 중단 점을 사용하여
- 20. 디버거가 중단 점을 맞지 않는다
- 21. WinDbg에 중단 점을 설정하지 못했습니다.
- 22. Allegro 프로그램이 중단 점을 트리거합니까?
- 23. DLL에서 중단 점을 설정하는 방법
- 24. 팬텀 중단 점을 해결하는 방법?
- 25. 중단 점을 통해 메서드 실행
- 26. Windows가 myprogram.exe에서 중단 점을 트리거했습니다.
- 27. Visual Studio에서 중단 점을 무시합니다.
- 28. 중단 점을 사용하는 함수에서 복귀
- 29. "* .exe가 중단 점을 트리거했습니다."-Messagebox
- 30. XCode에서 중단 점을 삭제하는 방법
main()의 마지막 중괄호에 중단 점을 설정하십시오. 그리고 히트 때 싱글 스텝. CRT 소스 코드에 들어가서 "mainret"변수에 주목하십시오. 여전히 0인지 확인하고 데이터 중단 점을 설정하십시오. –