내 C++ 프로그램이 프로그램에서 처리되지 않은 예외를 throw하므로 디버그 모드에서 VS가 처리하므로 처리되지 않은 예외가 발생했다는 사실에 대한 창이 표시됩니다. 하지만이 예외는 볼 수 있습니까? 그것은 처리되지 않았습니까? 그 타입은 무엇입니까, 던지기 대상 안에 무엇이 있습니까?VS2010에서 디버그 모드로 잡힌 처리되지 않은 예외를 분석하는 방법은 무엇입니까?
답변
휴식 및 스테핑을 시도해 볼 수 있습니다. 코드별로 분석해야 할 것이 있으면 VS가 예외 클래스의 처리기 또는 생성자로 들어갑니다. 이것이 내가 어쨌든 VS2010에서 해왔 던 방법입니다.
그 시점에서 예외 객체의 주소를 알아야하는 경우 조사 식 창에 붙여 넣을 수 있어야하며 예외가 기본 예외 클래스에 캐스트 될 수 있어야합니다 (예외가 시스템 예외가 아니며 좋은 계층 구조를 가짐).
P. 처리되지 않은 예외 루틴을 사용하여 내부에 중단 점을 설정할 수 있습니다.
// global scope
LONG WINAPI my_unh_exc_hndlr(_EXCEPTION_POINTERS* excPtrs)
{
return EXCEPTION_CONTINUE_SEARCH; // Put a breakpoint here in IDE.
}
// ... somewhere in the beginning of main()
SetUnhandledExceptionFilter(my_unh_exc_hndlr);
당신이 처리되지 않은 예외를 명중 할 때마다 실행해야합니다 것처럼 간단 할 수 있습니다.
임의로 충돌하는 다른 프로그램이 있습니까? 소스를 사용할 수 없습니까? 문제 없어. 적은 수의 권한을 가지고 있고 디버그하지 않는 한 거기에 핸들러 루틴을 설정하는 코드 (작은 DLL)를 삽입하십시오.
예외가 발생하는 대부분의 경우 Visual Studio는 프로그램을 중단 할 수있는 옵션이있는 대화 상자를 표시하여 코드에서 발생한 위치를 볼 수 있도록합니다. 또한 예외가 발생하기 직전에 객체, 포인터 및 기타 등등의 값을 분석 할 수 있어야합니다. 이것은 힙 손상이나 그와 같은 더러운 것을 다루지 않는 한 잘못 될 것 같은 생각을하기에 충분해야합니다. 예외 그 자체의 세부 사항을 모른 채로 더 많은 것을 말하기는 어렵습니다.
예외에 대한 모든 정보를 볼 수없는 경우 Visual Studio에서 디버그 설정을 확인해야 할 수 있습니다. 디버그 메뉴로 이동하여 예외를 클릭하십시오. 거기에서 모든 예외를 해제하도록 선택할 수 있습니다. 예외가 _ 생하면 디버거가 가능한 빨리 중단되어야합니다.
- 1. Eclipse에서 처리되지 않은 예외를 알리는 구성은 무엇입니까?
- 2. 비동기에서 처리되지 않은 예외를 catch합니다.
- 3. 잡힌 예외를 찾아내는 방법
- 4. C# .NETMF 4.0에서 처리되지 않은 예외를 캡처하는 방법은 무엇입니까?
- 5. Windows 서비스에서 처리되지 않은 예외를 캡처하는 방법은 무엇입니까?
- 6. J2ME에서 처리되지 않은 예외를 표시하는 대신 경고를 설정하는 방법은 무엇입니까?
- 7. ASP.NET MVC에서 처리되지 않은 예외를 어떻게 기록합니까?
- 8. 처리되지 않은 예외
- 9. 처리되지 않은 모든 C++ 예외를 잡기?
- 10. 보이지 않는 스레드의 처리되지 않은 예외를 잡으십시오.
- 11. node.js의 라이브러리에서 처리되지 않은 예외를 처리하는 방법
- 12. C#에서 처리되지 않은 예외를 잡는 방법?
- 13. 다시 시작 프로그램 실행 처리되지 않은 예외를
- 14. Silverlight에서 처리되지 않은 예외를 중단하는 방법
- 15. SIFT 기능 감지기가 처리되지 않은 예외를 생성합니다.
- 16. 처리되지 않은 예외를 삼키는 것이 있습니까?
- 17. AppHarbor에서 처리되지 않은 예외를 기록하려면 어떻게해야합니까?
- 18. 처리되지 않은 예외, 디버그 할 수 없습니다.
- 19. HotSpot VM을 디버그 모드로 만드는 방법은 무엇입니까?
- 20. JBOSS 7을 디버그 모드로 시작하는 방법은 무엇입니까?
- 21. 처리되지 않은 예외가 7
- 22. 잡힌 잡히지 않은 예외는 로깅합니까?
- 23. VS2010에서 COM dll 디버그
- 24. asp.net 응용 프로그램에서 처리되지 않은 예외를 잡는 방법?
- 25. 메인 스레드의 스레드에서 처리되지 않은 예외를 발생시키지 않습니까?
- 26. 처리되지 않은 문자열을 사용하는 방법은 무엇입니까?
- 27. .net 어셈블리 (처리되지 않은 라이브러리 유형)에서 처리되지 않은 모든 예외를 catch하는 방법
- 28. WinJS의 처리되지 않은 예외
- 29. try/catch를 사용하지 않고 처리되지 않은 예외를 자동으로 로깅
- 30. 잡힌 ASP.NET MVC3 예외를 파일에 어떻게 기록합니까?