src/os/windows/vm/os_windows.cpp

Print this page

        

*** 5002,5012 **** if (++mallocDebugIntervalCounter >= MallocVerifyInterval || force) { // Note: HeapValidate executes two hardware breakpoints when it finds something // wrong; at these points, eax contains the address of the offending block (I think). // To get to the exlicit error message(s) below, just continue twice. HANDLE heap = GetProcessHeap(); ! { HeapLock(heap); PROCESS_HEAP_ENTRY phe; phe.lpData = NULL; while (HeapWalk(heap, &phe) != 0) { if ((phe.wFlags & PROCESS_HEAP_ENTRY_BUSY) && !HeapValidate(heap, 0, phe.lpData)) { --- 5002,5016 ---- if (++mallocDebugIntervalCounter >= MallocVerifyInterval || force) { // Note: HeapValidate executes two hardware breakpoints when it finds something // wrong; at these points, eax contains the address of the offending block (I think). // To get to the exlicit error message(s) below, just continue twice. HANDLE heap = GetProcessHeap(); ! ! // If we fail to lock the heap, then gflags.exe has been used ! // or some other special heap flag has been set that prevents ! // locking. We don't try to walk a heap we can't lock. ! if (HeapLock(heap) != 0) { PROCESS_HEAP_ENTRY phe; phe.lpData = NULL; while (HeapWalk(heap, &phe) != 0) { if ((phe.wFlags & PROCESS_HEAP_ENTRY_BUSY) && !HeapValidate(heap, 0, phe.lpData)) {