본문 바로가기
개발

응용 프로그램 시작 오류(0xc00000ba) 해결하기

by esstory 2010. 2. 2.



이틀 동안 이 오류 때문에 골머리를 앓아오다가 언제나 그렇듯 간단한 원인을 발견해서 겨우 원상 복귀했습니다.

1.    증상:
특정 프로그램을 실행하면 아래와 같은 오류 메시지 박스가 실행되고 오류 메시지 0xc00000ba 를 리턴하며 프로그램이 비정상적으로 종료 됩니다.
Dependency 나 WinDbg 등으로 이래 저래 초기 로딩 시 올라 오지 못하는 DLL 이 어떤건지 알아 보기 위해 이것 저것 살펴 봤지만 문제 해결이 되질 않더군요
 




2.    원인
찾아낸 원인은 좀 허무했습니다. 이틀 전에 프로그램 Crash Dump 를 확인하기 위해 이 PC 에서 수백 개 Dump 를 확인했는데,
그 후부터 이런 문제가 발생했습니다.
관련 문제를 처음 조사했을 때 구글신이 가르켜 준 아래 링크가 정답이었는데

DevEnv - The application failed to initialize properly (0xc00000ba)

정답을 제대로 확인 못하고 이것 저것 살피다 시간만 보냈네요
오류의 원인은 Visual Studio 2008 에서 Dump 를 확인할 때 로컬 PC 에 저장되는 Symbol 파일 Cache 가 문제였습니다.
이전 경험으로 Dump 를 확인하는 로컬 폴더에 Symbol 이 생기겼거니 했는데
이번에는 Windows/System32 폴더에 심볼들이 가득 생겨 버려서 더 이상 이 어플리케이션을 실행조차 할 수가 없는게 문제였습니다.
Win32 System32 폴더에 생기는 줄 전혀 모르고 계속 다른 폴더를 지우기를 반복했는데 진작 찾아 볼 걸 그랬네요

3.    해결 방법
해결 방법은 간단합니다. (앞으로 이런 일이 생기지 않으려면)
Visual Studio 2008 > Tools > Option > Debugging > Symbols 에 Symbol 들이 Cache 될 폴더를 지정해 주면 됩니다.

 




가끔은 간단한 오류로 며칠을 허비하는 경우가 있는데 이번 경우가 그랬습니다.
왜 문제들은 해결방법을 알고 나면 허무하게 간단한 오류들일까요 ㅠㅠ
포맷을 하면 반나절이면 시스템 재 설정 가능 할 거라는 생각에 포맷을 잠시 고민하기도 했는데,
이런 문제로 포맷했으면 똑 같은 문제를 다시 만날 뻔 했네요.

Dump 확인할 때 Symbol 파일의 Cache Path 를 잘 지정해 주시기 바랍니다 ~


댓글