jscript9.dll에서 C++ Exception 나는 경우...

jic5760의 이미지

안녕하세요..
정말... 해결하기 너무 어려운 문제를 만났습니다..ㅠㅠ

WebBrowser2 컨트롤을 사용하는데 프로그램 테스트 중 jscript9.dll에서 오류가 발생했습니다..
평소에는 문제 없는데 이 오류가 한번 나타나서 오류 덤프파일(MiniDump)을 가지고 있습니다.
그런데 디버깅을 어떻게 해야할지 참 어렵네요..

UI처리중 DispatchMessage 함수를 실행하는 도중 문제가 발생하며
오류내용과 콜스택은 아래와 같습니다.

FAULTING_IP: 
KERNELBASE!RaiseException+68
00007fff`770d3fb8 488b8c24c0000000 mov     rcx,qword ptr [rsp+0C0h]
 
EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 00007fff770d3fb8 (KERNELBASE!RaiseException+0x0000000000000068)
   ExceptionCode: e06d7363 (C++ EH exception)
  ExceptionFlags: 00000001
NumberParameters: 4
   Parameter[0]: 0000000019930520
   Parameter[1]: 0000004920b5a8b0
   Parameter[2]: 00007fff4f3d06c8
   Parameter[3]: 00007fff4efc0000
 
DEFAULT_BUCKET_ID:  INVALID_POINTER_READ
 
PROCESS_NAME:  xxxxxx.exe
 
ERROR_CODE: (NTSTATUS) 0xe06d7363 - <Unable to get error code text>
 
EXCEPTION_CODE: (NTSTATUS) 0xe06d7363 - <Unable to get error code text>
 
EXCEPTION_PARAMETER1:  0000000019930520
 
EXCEPTION_PARAMETER2:  0000004920b5a8b0
 
EXCEPTION_PARAMETER3:  00007fff4f3d06c8
 
EXCEPTION_PARAMETER4: 7fff4efc0000
 
MOD_LIST: <ANALYSIS/>
 
APPLICATION_VERIFIER_FLAGS:  0
 
FAULTING_THREAD:  000000000000035c
 
PRIMARY_PROBLEM_CLASS:  INVALID_POINTER_READ
 
BUGCHECK_STR:  APPLICATION_FAULT_INVALID_POINTER_READ
 
LAST_CONTROL_TRANSFER:  from 00007fff77a3ae4a to 00007fff770d3fb8
 
STACK_TEXT:  
00000049`20b5a730 00007fff`77a3ae4a : 00000240`574d6c80 00000000`00000000 ffffffff`fffffffe 00000049`20b5a850 : KERNELBASE!RaiseException+0x68
00000049`20b5a810 00007fff`4efd8494 : 00007fff`4efc0000 00000240`7bbdbbe0 00000240`574da420 00000000`00000001 : msvcrt!CxxThrowException+0xba
00000049`20b5a880 00007fff`4efd76c1 : 00000240`574da420 00000240`7bbdbbe0 00000240`75cf0001 ffffffff`40000001 : jscript9!Js::JavascriptExceptionOperators::ThrowExceptionObjectInternal+0xec
00000049`20b5a920 00007fff`4efd7697 : 00000240`574da420 00000240`7bbdbbe0 00000240`7bbcbf01 00000000`00000000 : jscript9!Js::JavascriptExceptionOperators::ThrowExceptionObject+0x29
00000049`20b5a960 00007fff`4f0ecce8 : 00000240`574db0c0 00000240`7bbdbbe0 00000240`7bbdbbe0 00000049`20b5ac20 : jscript9!Js::JavascriptExceptionOperators::Throw+0x7b
00000049`20b5a9a0 00007fff`4f78bdd2 : 00000240`7bbe97f0 00000240`7bbb2b20 00000240`574db0c0 00000049`00000001 : jscript9!CJavascriptOperations::ThrowException+0xe8
00000049`20b5aa50 00007fff`4f8be685 : 00000240`7bbb2b20 00000000`02000002 00000240`8070000c 00000240`568f8f80 : mshtml!CFastDOM::ThrowDOMError+0xbe
00000049`20b5aab0 00007fff`4f106bd3 : 00000240`574cff00 00007fff`02000002 00000240`5749dba0 00000240`574b94a0 : mshtml!CFastDOM::CElement::Trampoline_querySelectorAll+0xa5
00000049`20b5ab20 00007fff`4eff615d : 00000240`7bbc7af0 00000000`00008000 00000240`574cff00 00000000`02000003 : jscript9!amd64_CallFunction+0x93
00000049`20b5ab70 00007fff`4f106bd3 : 00000240`574cff00 00000000`02000002 00000240`5749dba0 00000240`574b94a0 : jscript9!Js::JavascriptExternalFunction::ExternalFunctionThunk+0x18d
00000049`20b5ac10 00007fff`4f0ac2bb : 00000240`7bbc7af0 00000000`00000010 00000240`574b5800 00000049`20b5ace8 : jscript9!amd64_CallFunction+0x93
00000049`20b5ac60 00007fff`4f02005e : 00000049`20b5ae40 00000000`00000000 00000000`00000000 00000240`573011a0 : jscript9!Js::InterpreterStackFrame::Process+0xd0b
00000049`20b5ae10 00000240`572a0ef3 : 00000049`20b5b100 00000000`00000002 00000049`20b5b960 00000240`574d6c80 : jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x38e
00000049`20b5b0d0 00007fff`4f106bd3 : 00000240`574d6c80 00000000`02000002 00000240`569ee020 00000240`5749dba0 : 0x240`572a0ef3
00000049`20b5b100 00007fff`4f0b4269 : 00000240`7bbc7af0 00000000`00000010 00000000`00000000 00000000`00000000 : jscript9!amd64_CallFunction+0x93
00000049`20b5b150 00007fff`4f0a9457 : 00000240`574d6c80 00007fff`4f106c70 00000049`20b5b1d0 00000240`7bbc7af0 : jscript9!Js::JavascriptFunction::CallFunction<1>+0x79
00000049`20b5b1b0 00007fff`4f0aeb14 : 00000049`20b5b810 00000240`572fe04e 00000240`574d6c80 00007fff`00000000 : jscript9!Js::InterpreterStackFrame::OP_CallCommon<Js::OpLayoutDynamicProfile<Js::OpLayoutCallI_OneByte> >+0x87
00000049`20b5b210 00007fff`4f0aae38 : 00000049`20b5b810 00000000`00000002 00000000`00000000 00000049`20b5b810 : jscript9!Js::InterpreterStackFrame::Process+0x3564
00000049`20b5b3c0 00007fff`4f0b00ca : 00000049`20b5b810 00000049`20b5b470 00000240`572fe03c 00007fff`4f0aa920 : jscript9!Js::InterpreterStackFrame::OP_TryCatch+0x68
00000049`20b5b420 00007fff`4f0aacdf : 00000049`20b5b810 00000000`ffffffff 00000000`00000000 00000049`20b5b810 : jscript9!Js::InterpreterStackFrame::Process+0x4b1a
00000049`20b5b5d0 00007fff`4f0b1e18 : 00000049`20b5b810 00000049`20b5b680 00000240`572fe036 00007fff`4f0aa920 : jscript9!Js::InterpreterStackFrame::OP_TryFinally+0x53
00000049`20b5b630 00007fff`4f02005e : 00000049`20b5b810 00000000`00000000 00000000`00000000 00000240`572e3000 : jscript9!Js::InterpreterStackFrame::Process+0x6868
00000049`20b5b7e0 00000240`572a0f1b : 00000049`20b5ba70 00000000`00000002 00000049`20b5be50 00000240`57485600 : jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x38e
00000049`20b5ba40 00007fff`4f106bd3 : 00000240`57485600 00000000`02000002 00000240`569ee020 00000240`574d6c80 : 0x240`572a0f1b
00000049`20b5ba70 00007fff`4f0ac2bb : 00000240`7bbc7af0 00000000`00000010 00000240`56a4ca4a 00000049`20b5bb50 : jscript9!amd64_CallFunction+0x93
00000049`20b5bac0 00007fff`4f02005e : 00000049`20b5bca0 00000000`00000000 00000000`00000000 00000240`569df000 : jscript9!Js::InterpreterStackFrame::Process+0xd0b
00000049`20b5bc70 00000240`572a0f2b : 00000049`20b5bf80 00000000`00000001 00000049`20b5c828 00000240`5748ff00 : jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x38e
00000049`20b5bf50 00007fff`4f106bd3 : 00000240`5748ff00 00000000`02000001 00000240`569ee020 00000000`00000001 : 0x240`572a0f2b
00000049`20b5bf80 00007fff`4f0b4269 : 00000240`7bbc7af0 00000000`00000008 00000240`00000000 00000000`00000000 : jscript9!amd64_CallFunction+0x93
00000049`20b5bfd0 00007fff`4f0a9356 : 00000240`5748ff00 00007fff`4f106bdb 00000049`20b5c050 00000049`20b5c2c0 : jscript9!Js::JavascriptFunction::CallFunction<1>+0x79
00000049`20b5c030 00007fff`4f0f491f : 00000049`20b5c2c0 00000240`574384ba 00000240`5748ff00 00007fff`00000000 : jscript9!Js::InterpreterStackFrame::OP_CallCommon<Js::OpLayoutDynamicProfile<Js::OpLayoutCallI> >+0x86
00000049`20b5c090 00007fff`4f0b0cdc : 00000049`20b5c2c0 00000240`574384ba 00000240`00000000 00007fff`4f0aa920 : jscript9!Js::InterpreterStackFrame::OP_ProfiledReturnTypeCallI<Js::OpLayoutCallI>+0x47
00000049`20b5c0e0 00007fff`4f02005e : 00000049`20b5c2c0 00000000`00000000 00000000`00000000 00000240`569da000 : jscript9!Js::InterpreterStackFrame::Process+0x572c
00000049`20b5c290 00000240`572a0f7b : 00000049`20b5c960 00000000`00000002 00000049`20b5dbe0 00000240`57485500 : jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x38e
00000049`20b5c930 00007fff`4f106bd3 : 00000240`57485500 00000000`02000002 00000240`569ee020 00000240`569fb100 : 0x240`572a0f7b
00000049`20b5c960 00007fff`4f0b4269 : 00000240`7bbc7af0 00000000`00000010 00000240`00000000 00000000`0000003f : jscript9!amd64_CallFunction+0x93
00000049`20b5c9b0 00007fff`4f0a9356 : 00000240`57485500 00007fff`4f106c70 00000049`20b5ca30 00000049`20b5cd10 : jscript9!Js::JavascriptFunction::CallFunction<1>+0x79
00000049`20b5ca10 00007fff`4f0a99aa : 00000049`20b5cd10 00000240`57462056 00000240`57485500 00000240`00000000 : jscript9!Js::InterpreterStackFrame::OP_CallCommon<Js::OpLayoutDynamicProfile<Js::OpLayoutCallI> >+0x86
00000049`20b5ca70 00007fff`4f0aa2de : 00000049`20b5cd10 00000240`57462056 00000240`57485500 00000000`00000000 : jscript9!Js::InterpreterStackFrame::OP_ProfileCallCommon<Js::OpLayoutDynamicProfile<Js::OpLayoutCallI> >+0x9a
00000049`20b5caf0 00007fff`4f0b126a : 00000049`20b5cd10 00000240`57462056 00000240`00000000 00007fff`4f0aa920 : jscript9!Js::InterpreterStackFrame::OP_ProfiledCallI<Js::OpLayoutCallI>+0x4a
00000049`20b5cb30 00007fff`4f02005e : 00000049`20b5cd10 00000000`00000000 00000000`00000000 00000240`5746f020 : jscript9!Js::InterpreterStackFrame::Process+0x5cba
00000049`20b5cce0 00000240`572a0fb3 : 00000049`20b5dd10 00000000`00000002 00000049`20b5e0b0 00000240`572d3080 : jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x38e
00000049`20b5dce0 00007fff`4f106bd3 : 00000240`572d3080 00000000`02000002 00000240`569ee020 00000240`569fb100 : 0x240`572a0fb3
00000049`20b5dd10 00007fff`4f0ac2bb : 00000240`7bbc7af0 00000000`00000010 00000240`7bbd0088 00000240`569c6110 : jscript9!amd64_CallFunction+0x93
00000049`20b5dd60 00007fff`4f02005e : 00000049`20b5df40 00000000`00000000 00000000`00000000 00000240`569d7000 : jscript9!Js::InterpreterStackFrame::Process+0xd0b
00000049`20b5df10 00000240`572a0fbb : 00000049`20b5e1d0 00000000`00000003 00000049`20b5e550 00000240`572d3080 : jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x38e
00000049`20b5e1a0 00007fff`4f106bd3 : 00000240`56a2bf40 00000000`02000003 00000240`569ee020 00000240`569fb100 : 0x240`572a0fbb
00000049`20b5e1d0 00007fff`4f0ac2bb : 00000240`7bbc7af0 00000000`00000018 00000240`569ca152 00000049`20b5e2dc : jscript9!amd64_CallFunction+0x93
00000049`20b5e230 00007fff`4f02005e : 00000049`20b5e410 00000000`00000000 00000000`00000000 00000240`569cd000 : jscript9!Js::InterpreterStackFrame::Process+0xd0b
00000049`20b5e3e0 00000240`572a0fc3 : 00000049`20b5e670 00000000`00000000 00000000`00000000 00000240`56a2bf00 : jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x38e
00000049`20b5e640 00007fff`4f106bd3 : 00000240`56a2bf00 00000000`00000000 00000000`00000000 00000000`00000000 : 0x240`572a0fc3
00000049`20b5e670 00007fff`4f0b4269 : 00000240`7bbc7af0 00000000`00000000 00000000`00000000 ffffffff`fffffffe : jscript9!amd64_CallFunction+0x93
00000049`20b5e6c0 00007fff`4f074d92 : 00000240`56a2bf00 00007fff`4f106c70 00000049`20b5e780 00000240`7bbdbbe0 : jscript9!Js::JavascriptFunction::CallFunction<1>+0x79
00000049`20b5e720 00007fff`4f0748c1 : 00000240`56a2bf00 00000049`20b5e850 00000240`7bbdbbe0 00007fff`4f0a6b06 : jscript9!Js::JavascriptFunction::CallRootFunctionInternal+0x102
00000049`20b5e800 00007fff`4f0cbfd3 : 00000240`56a2bf00 00000049`20b5e8b0 00000240`7bbdbbe0 00007fff`77a970eb : jscript9!Js::JavascriptFunction::CallRootFunction+0x65
00000049`20b5e870 00007fff`4f099281 : 00000240`56a2bf00 00000049`20b5e910 00000000`00000000 00000049`20b5e8f8 : jscript9!ScriptSite::CallRootFunction+0x67
00000049`20b5e8d0 00007fff`4f016a8b : 00000240`7bbcb1e0 00000240`56a2bf00 00000049`20b5e9d8 00000000`00000000 : jscript9!ScriptSite::Execute+0xfd
00000049`20b5e960 00007fff`4f017e39 : 00000240`7bbb2b20 00000049`20b5ef48 00000049`20b5ef90 00000049`80000402 : jscript9!ScriptEngine::ExecutePendingScripts+0x21b
00000049`20b5ea50 00007fff`4f017f65 : 00000240`7bbb2b20 00000240`560ede60 00000240`3feeaf74 00000240`56954280 : jscript9!ScriptEngine::ParseScriptTextCore+0x429
00000049`20b5eb90 00007fff`4f4da01f : 00000240`7bbb2b68 00000240`560ede60 00000049`00000000 00000240`00015283 : jscript9!ScriptEngine::ParseScriptText+0xc5
00000049`20b5ec50 00007fff`4f4d9e71 : 00000240`569541a8 00000000`00000000 00000240`56928e00 00000000`8000ffff : mshtml!CActiveScriptHolder::ParseScriptText+0x17f
00000049`20b5ecd0 00007fff`4f5b1e67 : 00000000`00000000 00000049`20b5ee19 00000240`568e0240 00000240`00000000 : mshtml!CJScript9Holder::ParseScriptText+0xf1
00000049`20b5ed70 00007fff`4f5b1462 : 00000000`00000000 00000000`00000000 00000240`569541a8 00000240`569541a8 : mshtml!CScriptCollection::ParseScriptText+0x26b
00000049`20b5ee50 00007fff`4f5b016f : 00000240`569541a8 00000240`568dc200 00000000`00000000 00000000`00000000 : mshtml!CScriptData::CommitCode+0x39e
00000049`20b5f020 00007fff`4f5af95f : 00000240`569541a8 00000240`568e0360 00000000`00000002 00000000`00000000 : mshtml!CScriptData::Execute+0x267
00000049`20b5f0e0 00007fff`4f59c9c1 : 00000000`00000000 00000240`5695c000 00000000`00000000 00000000`00000000 : mshtml!CHtmScriptParseCtx::Execute+0xbf
00000049`20b5f110 00007fff`4f5c15f0 : 00000000`8000ffff 00000000`00000002 00000240`568d45a0 00000000`00000000 : mshtml!CHtmParseBase::Execute+0x181
00000049`20b5f1a0 00007fff`4f5c119e : 00000240`568d45a0 00000000`00000000 00000000`50000061 00000240`55cad957 : mshtml!CHtmPost::Broadcast+0x50
00000049`20b5f1e0 00007fff`4f5fca3e : 00007fff`4f5fc7e0 00000240`568c0000 00000240`568c0000 00000240`568c0000 : mshtml!CHtmPost::Exec+0x38e
00000049`20b5f3e0 00007fff`4f5fc91f : 00000240`568d45a0 00000000`0006d939 00000000`00000000 00000000`000003e7 : mshtml!CHtmPost::Run+0x32
00000049`20b5f410 00007fff`4f5fc885 : 00000240`568c0000 00000000`0006d871 00000240`569541a8 00000240`569541a8 : mshtml!PostManExecute+0x63
00000049`20b5f450 00007fff`4f5841c1 : 00000000`00000000 00000240`568c0000 00000000`00000002 00000049`20b5f4e0 : mshtml!CPostManager::PostManOnTimer+0xa5
00000049`20b5f490 00007fff`4f5ba599 : 00000000`00000013 00000000`80006010 00000000`00000000 ffffffff`ffffffff : mshtml!GlobalWndOnMethodCall+0x251
00000049`20b5f540 00007fff`77aeb85d : 00000000`00080290 00000000`00008002 00000000`00000000 00000000`00000000 : mshtml!GlobalWndProc+0xf9
00000049`20b5f5d0 00007fff`77aeb1ef : 00000240`761dd3d0 00007fff`4f5ba4a0 00000000`00080290 00000049`20cf3800 : user32!UserCallWinProcCheckWow+0x2ad
00000049`20b5f740 00007ff6`b34588fe : 00000049`20b5f7e0 00000000`00000005 00007fff`7a50fd50 00000000`00000000 : user32!DispatchMessageWorker+0x19f
00000049`20b5f7c0 00000049`20b5f7e0 : 00000000`00000005 00007fff`7a50fd50 00000000`00000000 00000000`00080290 : xxxxxx.exe+0x2288fe
00000049`20b5f7c8 00000000`00000005 
 
STACK_COMMAND:  ~0s; .ecxr ; kb
 
FOLLOWUP_IP: 
msvcrt!CxxThrowException+ba
00007fff`77a3ae4a 4c8d5c2460      lea     r11,[rsp+60h]
 
SYMBOL_STACK_INDEX:  1
 
SYMBOL_NAME:  msvcrt!CxxThrowException+ba
 
FOLLOWUP_NAME:  MachineOwner
 
MODULE_NAME: msvcrt
 
IMAGE_NAME:  msvcrt.dll
 
DEBUG_FLR_IMAGE_TIMESTAMP:  20688290
 
FAILURE_BUCKET_ID:  INVALID_POINTER_READ_e06d7363_msvcrt.dll!CxxThrowException
 
BUCKET_ID:  X64_APPLICATION_FAULT_INVALID_POINTER_READ_msvcrt!CxxThrowException+ba

비슷한 오류가 인터넷에 가뭄에 콩나듯 있긴 하지만 해결책이 안보이네요..
혹시 이런거 경험해보신분 계시나요??
그리고 이런 경우에 어떻게 디버깅해보면 좋을까요?

참고로...
0:000> dt std::runtime_error 0x0000004920b5a8b0 (두번째 파라미터)
Windows_Globalization!std::runtime_error
+0x000 __VFN_table : 0x00000240`574da420
+0x008 _Mywhat : 0x00000240`574d6c80 "???"
+0x010 _Mydofree : 35
이것을 해봤는데 별 도움이 안되는거 같습니다..

shint의 이미지

혼자 어려우시면. 아시는분들과 같이 하시기 바랍니다.
잘 되는거로 먼저 하시는게 나을겁니다.

- (백업 해두고) 오류가 발생하지 않을때까지. 한줄씩 지워서 확인
대부분은 여기서 해결이 됩니다.

- jscript9.dll 을 업데이트해서 확인
IE 버전. 보안 업데이트 확인
다른 PC 혹은 컴퓨터에서 확인 (PC방이나 메신저 친구. VirtualBox 등으로 확인).
지역. 언어. 시간 NTP 설정 확인.
- 잘 되는 예제 소스를 책이나 사이트에서 얻어서 확인
- 각 함수에 인자값. 리턴값. 오류값. 확인
- Symbol File 로 디버그 가능한지 확인

- 데브피아'에서도 비슷한 오류 경험들이 보이네요.
http://search.devpia.com/Search.aspx?KeyW=jscript9.dll

다운. 등록. 로드. 호출. 오류. 예외처리. 디버그. 각 상태 및 등록 상태 확인.

- 윈도우 서비스 COM COM+ DCOM 프로세스 상태 확인
- Windows Installer 상태 확인
- Windows Modules Installer 상태 확인

- 버전별로 VC 재배포 패키지 설치 확인
Visual C++ 2017 2015 2013 2012 2010 2008 2005 재배포 가능 패키지
http://optic.tistory.com/2

- 0 / 0 나누기 확인
- signed unsigned 확인

- 윈도우 가상 메모리 크기 확인
- 32비트(x86) 64비트 확인
- IE 의 디버그 옵션 확인
- Program Files 와 Program Files (x86) 폴더 확인
- C:\Windows\System32 와 C:\Windows\SysWOW64 확인
- LoadLibrary 와 LoadLibraryEx() 등도 MSDN 에서 확인
- 프로세스 메모리의 범위를 넘는경우. bcdedit.exe /set {current} IncreaseUserVA 3072 로 프로세스 생성 메모리 크기를 3GB 이상으로 지정
IMAGE_FILE_LARGE_ADDRESS_AWARE

- PAE 확장 확인 bcdedit.exe /set {current} pae ForceEnable

- CRT DBG 로 메모리 누수 위치 확인
- try catch. exception 도 확인

- 각 오류 메시지를 검색해서 확인

//구글 검색한 내용

jscript9.dll에서 C++ Exception
https://www.google.co.kr/search?q=jscript9.dll%EC%97%90%EC%84%9C+C%2B%2B+Exception&oq=jscript9.dll%EC%97%90%EC%84%9C+C%2B%2B+Exception&aqs=chrome..69i57j69i61l3&sourceid=chrome&ie=UTF-8

Debugging시 Symbol File의 중요성
http://egloos.zum.com/byung/v/4400241

//
WOW64 Implementation Details
https://msdn.microsoft.com/en-us/library/windows/desktop/aa384274(v=vs.85).aspx

//
Performance and Memory Consumption Under WOW64
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa384219(v=vs.85).aspx

IMAGE_FILE_LARGE_ADDRESS_AWARE

//
Windows 64-bit:
The 'Program Files (x86)' and 'SysWOW64' folders explained
http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm

Folder name Bitness Description
System32 64 Windows System folder (system directory) for 64-bit files
SysWOW64 32 Windows System folder (system directory) for 32-bit files
Program Files 64 Folder for 64-bit program files
Program Files (x86) 32 Folder for 32-bit program files

Below you can see the full path to the folders.

Folder name Folder path Description
System32 C:\Windows\System32 Windows System folder (system directory) for 64-bit files
SysWOW64 C:\Windows\SysWOW64 Windows System folder (system directory) for 32-bit files
Program Files C:\Program Files Folder for 64-bit program files
Program Files (x86) C:\Program Files (x86) Folder for 32-bit program files

//
Exception Handling under WOW64
https://msdn.microsoft.com/en-us/library/windows/desktop/gg507671(v=vs.85).aspx

//
Windows Vista Ushers a New Era in Data Acquisition
http://www.adlinktech.com/solution/Windows_Vista_Ushers-a-New-Era_Data-Acquisition.php?utm_source=

User Account Control (UAC)
User Account Control is a new user privilege model of Windows Vista, designed to prevent virus attacks and illegal software applications from halting or taking control of the system, initiating installation, or changing firewall settings.

Windows-on-Windows 64-bit (WOW64)
Windows-on-Windows 64-bit is a lightweight translation layer subsystem and feature identical interfaces on all 64-bit versions of Windows. The primary purpose of WOW64 is to create a 32-bit environment that provides the required interfaces for executing 32-bit Windows applications in a 64-bit system without modifications.

//-----------------------
//jscript9.dll에서 오류
//-----------------------

jscrit9.dll 오류
https://answers.microsoft.com/ko-kr/ie/forum/ie9-windows_7/jscrit9dll-%EC%98%A4%EB%A5%98/e3a8b7e5-b016-4dd1-a148-e9846ca91bf8?auth=1

MS15-009: Internet Explorer의 JScript9.dll용 보안 업데이트에 대한 설명: 2015년 2월 10일
https://support.microsoft.com/ko-kr/help/3034196/ms15-009-description-of-the-security-update-for-jscript9-dll-in-intern

jscript9.dll
https://kp.error-dll.info/index.php?e=page&c=j&al=jscript9dll

(mshtml.dll 오류) 한글 2007 미만 등 설치 후 인터넷 충돌 오류 - Kinesis
http://blog.kinesis.kr/15

인터넷 익스플로러 11 Jscript9.dll 보안 업데이트 KB3034196 [MS15-009]
http://rdsong.com/1420

설치를 시작할 수 없음: PC에 JavaScript가 설치되어 있는지 확인하십시오.
https://service.mcafee.com/webcenter/portal/cp/home/articleview;jsessionid=_tJJYs-PCGAF6xsuYyy2xy3yITnaBxJGdtvYcPS_KkFbS1YHh53U!1843843069!-930056727?locale=ko-KR&articleId=TS101440&_afrLoop=4820430948031760#!%40%40%3F_afrLoop%3D4820430948031760%26articleId%3DTS101440%26centerWidth%3D100%2525%26leftWidth%3D0%2525%26locale%3Dko-KR%26rightWidth%3D0%2525%26showFooter%3Dfalse%26showHeader%3Dfalse%26_adf.ctrl-state%3D19of3c4eqk_4

//-----------------------
//WebBrowser2 jscript9.dll
//-----------------------

Windows 7 64-bit Internet Explorer 9 Crash(APPCRASH jscript9.dll)
https://stackoverflow.com/questions/7674286/windows-7-64-bit-internet-explorer-9-crashappcrash-jscript9-dll

.Net WebBrowser Control Memory Leak Issue
https://www.codeproject.com/Questions/322884/WPF-WebBrowser-control-vs-Internet-Explorer-browse

Thread: WebBrowser memory leak - is there any real solution?
http://www.vbforums.com/showthread.php?644658-WebBrowser-memory-leak-is-there-any-real-solution

MFC WebBrowser연동 관련 질문입니다.
https://kldp.org/node/151256

HTML5, Modernized: Fourth IE9 Platform Preview Available for Developers
https://blogs.msdn.microsoft.com/ie/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers/

//-----------------------
//RaiseException
//-----------------------

RaiseException function
Raises an exception in the calling thread.
https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms680552(v=vs.85).aspx

RaiseException 함수

https://msdn.microsoft.com/ko-kr/library/br245090.aspx

Visual C++에서의 C++ 예외와 SEH
http://egloos.zum.com/sweeper/v/2991283

org.jruby.exceptions
Class RaiseException
http://jruby.org/apidocs/index.html?org/jruby/exceptions/RaiseException.html

Catch RaiseException in VB.Net
https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/275619

Using Structured Exception Handling to Handle Exceptions from C++ in C#.
https://limbioliong.wordpress.com/2011/10/13/using-structured-exception-handling-to-handle-exceptions-from-c-in-c/

//-----------------------
//DEFAULT_BUCKET_ID: INVALID_POINTER_READ
//-----------------------

WinDbg analyzes minidump (!analyze -v), then what is NULL_CLASS_PTR_DEREFERENCE, INVALID_POINTER_READ…etc?
https://stackoverflow.com/questions/11752384/windbg-analyzes-minidump-analyze-v-then-what-is-null-class-ptr-dereference

Why does Software Crash #1 ? The Access Violation
https://blogs.msdn.microsoft.com/chappell/2005/01/12/why-does-software-crash-1-the-access-violation/

Application Crashing Please help
https://social.msdn.microsoft.com/Forums/vstudio/en-US/4017db76-bc61-4fb7-bd7d-486c207662d6/application-crashing-please-help?forum=csharpgeneral

Help with a crash dump file
https://www.grownupgeek.com/crash-dump-file

Windbg랑 친해지기
https://www.slideshare.net/devgrapher/windbg-28727619

Running WinSAT crashes DWM => Fixed in SVN
https://www.virtualbox.org/ticket/9267

Why does ucrtbase export _CxxThrowException?
https://stackoverflow.com/questions/40184496/why-does-ucrtbase-export-cxxthrowexception

how to use debugdiag report for IIS Application pool crash
https://groups.google.com/forum/#!topic/microsoft.public.inetserver.iis/854pmoCBy7Q

msvcrt!_CxxThrowException should be marked no return #282
https://github.com/Vector35/binaryninja-api/issues/282

Exception in "msvcrt.dll"
https://communities.bmc.com/thread/44984?tstart=0

//-----------------------
//X64_APPLICATION_FAULT_INVALID_POINTER_READ
//-----------------------

X64_APPLICATION_FAULT_INVALID_POINTER_READ_msvcrt

Windows 7: Explorer Crash-right click-debug file
https://www.sevenforums.com/bsod-help-support/50963-explorer-crash-right-click-debug-file.html

ShellExView v1.97 - Shell Extensions Manager
http://www.nirsoft.net/utils/shexview.html

//-----------------------
//MFC EXCEPTION
//-----------------------

MFC의 예외 처리
https://msdn.microsoft.com/ko-kr/library/t078xe4f.aspx

예외 클래스 의미
CMemoryException Class 메모리가 부족합니다.
CFileException Class 파일 예외
CArchiveException Class 보관/직렬화 예외
CNotSupportedException Class 지원 되지 않는 서비스에 대한 요청에 대한 응답
CResourceException Class Windows 리소스 할당 예외
CDaoException Class 데이터베이스 예외 (DAO 클래스)
CDBException Class 데이터베이스 예외 (ODBC 클래스)
COleException Class OLE 예외
COleDispatchException Class 디스패치 (자동화) 예외
CUserException Class 메세지 박스를 사용하여 사용자를 바꾸는 예외는 일반 CException Class 를 throw합니다.

예외: MFC 매크로 및 C++ 예외 사용
https://msdn.microsoft.com/ko-kr/library/sas5wzs9.aspx

예외: MFC 예외 매크로에서 변환
https://msdn.microsoft.com/ko-kr/library/19z28s5c.aspx

[C++로 배우는 자바] 11. 예외처리
http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=807

c++ try, catch문 사용 가이드
http://egloos.zum.com/spaurh/v/4266095

Trying to catch exception in MFC's CString::Format
https://stackoverflow.com/questions/18776881/trying-to-catch-exception-in-mfcs-cstringformat

Structured Exception Handling (C/C++)
https://msdn.microsoft.com/en-us/library/swezty51.aspx

SEH and C++ Exceptions - catch all in one
https://www.codeproject.com/Articles/422/SEH-and-C-Exceptions-catch-all-in-one

catching unknown exception
https://stackoverflow.com/questions/6625046/catching-unknown-exception

Handling Exception in MFC
https://stackoverflow.com/questions/3780752/handling-exception-in-mfc

SEH and C++ Exceptions - catch all in one
http://www.codeguru.com/cpp/cpp/cpp_mfc/article.php/c851/SEH-and-C-Exceptions--catch-all-in-one.htm

Exception in MFC dialog message handler
https://www.codeproject.com/Questions/80706/Exception-in-MFC-dialog-message-handler

//-----------------------
//MFC try catch
//-----------------------

C++ 예외 처리
https://msdn.microsoft.com/ko-kr/library/4t3saedz.aspx

Visual C++ 예외를 catch 하는 방법
https://support.microsoft.com/ko-kr/help/815662/how-to-catch-exceptions-in-visual-c

예외 처리(try, catch, throw)
http://mrhook.co.kr/77

C++ 의 예외처리 정리
http://supercoding.tistory.com/1

[교육자료] try-except, try-finally 에 대하여..
http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=761

(1) EXCEPTION_CONTINUE_EXECUTION (-1)
예외 발생시 예외를 무시하고 예외가 발생한 지점부터 프로그램을 계속 진행합니다.
(2) EXCEPTION_CONTINUE_SEARCH (0)
예외 발생시 except 블록안의 예외 처리 코드를 실행하지 않고 상위 예외 핸들러에게 예외 처리를 넘깁니다.
(3) EXCEPTION_CONTINUE_HANDLER (1)
예외 발생시 except 블록안의 예외 처리 코드를 실행함으로써 예외 처리를 합니다.

EXCEPTION_ACCESS_VIOLATION
EXCEPTION_EXECUTE_HANDLER
EXCEPTION_CONTINUE_SEARCH

Exception 에러 메세지창으로 띄우기
http://ccusean.tistory.com/entry/Exception-%EC%B2%98%EB%A6%AC

예외처리- try-catch문 정리!!!
http://skmagic.tistory.com/157

try catch in MFC
https://stackoverflow.com/questions/26829518/try-catch-in-mfc

mfc try catch
http://aris12.tistory.com/56

Handling Exceptions in JavaScript
http://www.c-sharpcorner.com/UploadFile/79037b/handling-exceptions-in-javascript/

try~catch 와 __try~__except 의 차이점
http://kuaaan.tistory.com/435 [달토끼 대박나라~!! ^^]

UnhandledExceptionHandler 의 가장 큰 단점은..
예외를 통지받을 수는 있지만 핸들링한 후에 (예외를 발생시킨 코드를 skip하고) 계속해서 실행시키기는 어렵다는 점입니다.

C# - Exception Handling
https://www.youtube.com/watch?v=ZJ-JSchRzy0

예외: 예외 Catch 및 삭제
https://msdn.microsoft.com/ko-kr/library/0e5twxsh.aspx

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

jic5760의 이미지

- (백업 해두고) 오류가 발생하지 않을때까지. 한줄씩 지워서 확인
대부분은 여기서 해결이 됩니다.

그러고 싶지만.. 소스파일개수만 100개가 넘는..(라이브러리제외하고) 프로젝트입니다...ㅠㅠ
어디선가 메모리가 꼬인건지 어쩐건지..
좀 바로 오류가 나주면 차라리 고마울텐데 하루에 십수번 테스트하는데 가끔 발생하네요..

- jscript9.dll 을 업데이트해서 확인
IE 버전. 보안 업데이트 확인
다른 PC 혹은 컴퓨터에서 확인 (PC방이나 메신저 친구. VirtualBox 등으로 확인).
지역. 언어. 시간 NTP 설정 확인.
- 잘 되는 예제 소스를 책이나 사이트에서 얻어서 확인
- 각 함수에 인자값. 리턴값. 오류값. 확인
- Symbol File 로 디버그 가능한지 확인

일단 사용자가 사용할 것이라서 업데이트같은건 해볼수가 없구요..
같은 OS Build으로 다른 PC에 테스트해보려고 하고있습니다.
감사합니다.

많은거 찾아주셔서 감사합니다!
얼른 해결되었음 좋겠네요..ㅠㅠ
곧 런칭인데..ㅠㅠ

jic5760의 이미지

같은 Build의 OS(Win10 x64)을 다른컴퓨터에 설치해서 테스트해봤는데 오류가 나지 않네요..ㅠㅠ
대체 뭐가 문젠지..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.