본문 바로가기

프로그래밍/Windows Device Driver

vmware 커널 디버그 메세지 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session ManagerDebug Print Filter 키 생성DEFAULT의 DWORD를 생성 생성된 값은 f 설정재부팅DEFAULT의 값은 64bit,32bit 운영체제에서 동일하게 32bit 값으로 만들면 된다. 더보기
블루스크린 0x7f 0x08 ......... 개발을 하다보면 지역변수를 많이 사용했다..근데 이게 왠일... 블루스크린 뜰 당시 0x7f (0x08....... 떳던 블루스크린이windbg의 덤프파일로 까보니 내가 만든 드라이버에서 발생 ㅠㅠ 문제점을 찾아보다가 인터넷에 이런 글들을 발견...너무 많은 지역변수를 사용하면 날지도 모른다.. ms에서 괜히 변수값을을 적게 가져가라고 말한게 아니다... 뭐 이런 말들...바로 수정 돌입했다..정말 사실임... 지역변수 죄다 동적할당으로 바꾸드만..안나네. 더보기
0x7F 블루스크린 첫번째 인자는 0x08갑자기 쿨러 괴음이 들리더니만.. 블루스크린이 똭........구글링으로 대충 검색해보니 하드웨어 문제? 과열 이런 말들이 나오네..내가 만든 드라이버가 하드웨어에 무리를 주어서 과열된건가 ㅡ.ㅡ.....근데 좋치도 않은 사양의 테스트 피시에 vmware 켜서 거기서 테스트를 하고 있었으니......혹시나해 작업용 피시에서 돌리니 또 정상적으로 장시간 잘돌아간다.갈길이 멀구나ㅠㅠ 더보기
window kernel critical section KeEnterCriticalRegion();작업내용KeLeaveCriticalRegion(); 이거 두줄 찾을려고 쌩쇼 함 ㅠ.ㅠ 더보기
IRQL 레벨 수정(KeRaiseIrql, KeLowerIrql) WDK api irql레벨이 안맞아 자꾸 블루스크린 또는 알 수 없는 에러로 인해 프로그램이 뻗었다.(알수없는 에러란 USBPORT.sys에서 쌩둥맞게 블루스크린 ...)WDK 답지 않게 애초부터 블루스크린이나 에러가 났으면 문제점에 대하여 찾기 쉬웠을 텐데 이건 뭐 되다 안되다 알 수 없는 에러만 팍팍 뜨니 난감했다 KeRaiseIrql(PASSIVE_LEVEL, &odlIrql);작업 내용KeLowerIrql(odlIrql); 더보기
커널메모리 누수 확인 툴 - Poolmon.exe 커널 메모리를 할당 하고서 해제를 안하면 언제 어디서 블루스크린이 뜰지 모른다. 블루스크린이라도 뜨면 감사. 이런 문제를 해결하는 방법은 일일이 할당된 메모리를 해제 했는지 확인해야 하는데 이를 쉽게 할 Poolmon.exe이라는 툴을 소개하고자 한다. 일단 DDK나 WDK를 설치하면 알아서 따라온다. 해당 응용프로그램은 ExAllocatePoolWithTag( .........., 'WSS' )ExFreePoolWithTag( .......... , 'WSS' )이런식으로 메모리 할당하고 해제 하였다면 SSW 이라고 해서첫번째 할당한 메모리두번째 헤제한 메모리세번째 사용한 메모리 확인할 수 있다 더보기