우리 제품에서 이상한 행동을 한 마디 씩 겪었습니다. (몇 분에서 몇 일간의 레인저), 우리의 로그 (일반적으로 우리의 특정 로그를 작성하는 간단한 .txt 파일)는이 메시지를 보여줍니다 : 가 처음 충돌로보고했지만, 분명히 충돌하지 않고, 단지 때때로 로그에이 인쇄 - 그 외에는로그에만 나타나는 첫 번째 예외를 찾는 방법은 무엇입니까?
******************************************************
****** Warning - First Chance Exception Caught! ******
******************************************************
Process Name : C:\OurApp.exe
Process ID : 27396
Thread ID : 21616
Debugger Time : 11:45:34.073 24/10/2017
Exception Code : 0xC0000005 - EXCEPTION_ACCESS_VIOLATION
Exception Desc : The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
Extended Desc : The thread attempted to read inaccessible data.
Extended Desc 2 : Virtual address of inaccessible data 0xC
Exception Address : 0x100517E2
Resolved Address : <no module> (No symbol) [0x100517E2]
Stack Trace :
<no module> (No symbol) [0x85C5A7D8]
Frames below may be incorrect and/or missing (symbol not found)
******************************************************
은 특별한 행동은 눈에 띄지 않습니다. 그것은 우리 로그 중 하나가 아니며,이 경고는 코드 파일에 없습니다 (특정 프로젝트뿐만 아니라 전체 repo를 스캔했습니다). 로그 수준에 관계없이 인쇄됩니다.
어떤 문서에서도이 메시지를 찾을 수 없습니다. (우리의 응용 프로그램은 C#으로 작성되었지만 C++/Java로 작성된 모듈을 가져올 수 있습니다.) 이제는 어떻게 범인을 찾았는지 잘 모르겠습니다. 어떻게 이런 일이 일어나지 않게 할 수 있습니까? OurApp.exe가 생성 한 프로세스가이 로그를 로그에 기록합니다 (procmon을 사용하여 확인).
아이디어는 어떻게 만들어지며 어떻게 멈추는 지 알 수 있습니까?
질문 : [사용자 계정 컨트롤] (https : //en.wikipedia.org/wiki/User_Account_Control)이이 응용 프로그램을 실행중인 컴퓨터에서 켜져 있습니까? – gmiley
@gmiley 예, 있습니다. –
사용하지 않도록 설정해도 되나요? 프로덕션 환경에서이 변경을 수행 할 수없는 경우 다른 환경에서 문제를 재현 한 다음 사용하지 않도록 설정하여 문제가 해결되는지 확인하십시오. 이 문제를 다루는 [다음은 기사입니다] (https://www.java.com/en/download/help/exception_access.xml). 또는 관련된 모든 소프트웨어 (라이브러리/드라이버/등)가 최신 UAC 호환 버전으로 업데이트되도록 할 수 있습니다. – gmiley