none
kernelbase.dll 로 인한 프로그램 종료 RRS feed

  • 질문

  • 한글 윈도우7 (64비트)에서 VisualBasic 2010 으로 프로그램을 작성, 컴파일 하였습니다.

    한글 윈도우7 (32비트)에서 설치 및 테스트 시 프로그램 기동, 사용, 종료 시 아무런 문제가 없었습니다.

    실제 사용될 영문 윈도우7 에서 설치 및 테스트 시 프로그램 종료를 하면

    kernelBase.dll 로 인하여 프로그램이 응답하지 않고 강제종료 된다는 메세지가 발생합니다.

    발생주기는 일정하지 않지만 하루에 한번 이상은 꼭 발생합니다.

    윈도우 오류이벤트에서 해당정보를 캡쳐하였습니다.

    Log Name : Application

    Source : Application Error

    Event ID : 1000

    Task Category : (100)

    Level : Error

    Keywords : Classic

    User : N/A

    Faulting application name : BarcodeScanStation.exe, version : 1.0.0.0, time stamp : 0x55ba2229

    Faulting module name : KERNELBASE.dll, version : 6.1.7601.18869, time stamp : 0x556363bc

    Exception code : 0x40010006

    Fault offset : 0x0000c42d

    Faulting process id : 0x534

    2015년 8월 5일 수요일 오전 8:55

답변

  • '안녕하십니까? 국물뚜바 님
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.
    문의 하신 “kernelbase.dll 로 인한 프로그램 종료”문의에 대한 답변을 드리겠습니다.

    다음 문서들에 의하면 Exception Code 0x40010006는 ::OutputDebugString()에서 발생되는 Exception이고 ::OutputDebugString 코드를 try catch 에서 빼면 다른 Exception이 발생할 것이고 이 Exception을 해결해야 할 것입니다.

    http://codeverge.com/embarcadero.cppbuilder.cpp/structured-exception-handling-cbui/2001254
    Structured exception handling (CBuilder 5 / XE3)

    0x40010006 is DBG_PRINTEXCEPTION_C ("Debugger printed exception on control C").
    According to this answer: How to treat 0x40010006 exception in vectored exception handler?
    http://stackoverflow.com/questions/12298406/

    Exception codes with values less than 0x80000000 are just informal and never an indicator of real trouble.
    And according to Dr Dobbs: Tracing Code: Part 2 http://www.drdobbs.com/windows/tracing-code-part-2/184416750
    ::OutputDebugString() works by raising a structured exception 0x40010006. This is caught by the system and is delivered to monitoring processes via a shared memory section.
    So what you are actually encountering is a debugging message, which is why you are having a hard time catching it in your runtime code.
    In fact, you should not be seeing it in the first place, let alone trying to catch it. Let the OS handle it.
    See more at: http://codeverge.com/embarcadero.cppbuilder.cpp/structured-exception-handling-cbui/2001254#sthash.6Ikdk7Ge.dpuf


    제시해 드린 답변이 도움이 되었기를 바랍니다.
      
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다

    • 답변으로 표시됨 국물뚜바 2015년 8월 17일 월요일 오전 2:49
    • 답변으로 표시 취소됨 국물뚜바 2015년 8월 17일 월요일 오전 3:00
    • 답변으로 표시됨 SMPark82 2015년 8월 18일 화요일 오전 1:26
    2015년 8월 10일 월요일 오전 8:09