電腦出現(xiàn)藍(lán)屏EXCEPTION_ON_INVALID_STACK怎么修復(fù)
藍(lán)屏代碼0x000001AA代表"EXCEPTION_ON_INVALID_STACK",意味著在執(zhí)行過程中發(fā)生了無效的堆棧異常。這通常是由于堆棧被破壞或操作系統(tǒng)無法訪問正確的堆棧導(dǎo)致的。這種情況很可能會(huì)導(dǎo)致系統(tǒng)崩潰并出現(xiàn)藍(lán)屏錯(cuò)誤。

快快藍(lán)屏修復(fù)助手可以幫你修復(fù)各類藍(lán)屏異常和錯(cuò)誤問題,能快速檢測軟件、硬件和驅(qū)動(dòng)故障。分析藍(lán)屏日志。
要解決這個(gè)問題,可以嘗試以下方法:
方法一:清除計(jì)算機(jī)內(nèi)部的灰塵和污垢
使用壓縮空氣罐清理內(nèi)存插槽、CPU插槽以及其他內(nèi)部組件的灰塵,灰塵和污垢可能導(dǎo)致接觸不良或過熱問題,從而引發(fā)藍(lán)屏錯(cuò)誤。
方法二:掃描病毒和惡意軟件
運(yùn)行殺毒軟件或安全軟件,進(jìn)行全面系統(tǒng)掃描,以排除病毒或惡意軟件的可能性。
方法三:升級(jí)操作系統(tǒng)
確保您的Windows操作系統(tǒng)已經(jīng)更新到最新版本,可以通過Windows Update進(jìn)行升級(jí),并安裝所有可用的補(bǔ)丁和更新程序。
方法四:使用一鍵修復(fù)工具助手(強(qiáng)烈推薦)
1、首先你的電腦必須下載與完成安裝完成快快藍(lán)屏修復(fù)助手。如果你還沒有安裝點(diǎn)擊下方鏈接下載。
下載地址:>>>快快藍(lán)屏修復(fù)助手<<<
提示:安裝路徑不要選擇C盤,避免產(chǎn)生問題造成損失。
2、找到你電腦中的快快藍(lán)屏修復(fù)助手,點(diǎn)擊進(jìn)入。看到首頁后,點(diǎn)擊首頁一鍵掃描按鈕開始掃描。等待幾分鐘,就能獲取你急切想要的結(jié)果。
3、掃描完成后會(huì)顯示電腦的所有藍(lán)屏記錄以及藍(lán)屏的詳細(xì)信息。
4、解決方案頁面顯示了導(dǎo)致該次藍(lán)屏的具體原因和解決方案,點(diǎn)擊右上角的一鍵修復(fù)進(jìn)行修復(fù)。
5、切記,當(dāng)修復(fù)完成之后我們還是需要重新啟動(dòng)計(jì)算機(jī)的。畢竟一切修復(fù)的結(jié)果,需要重新后,才能被系統(tǒng)認(rèn)可。
當(dāng)你完成重啟后,你電腦的藍(lán)屏問題已經(jīng)基本解決了。相信小編,不要急需卸載快快藍(lán)屏修復(fù)助手。畢竟它強(qiáng)大的功能是你未來的一個(gè)保障,可以隨時(shí)隨地為你服務(wù),讓你再次遇到藍(lán)屏問題不在抓狂。
其他相關(guān)信息:
EXCEPTION_ON_INVALID_STACK bug 檢查 的值為 0x000001AA。 此 Bug 檢查指示異常調(diào)度已交叉到無效的內(nèi)核堆棧中。 這可能表示內(nèi)核堆棧指針在異常調(diào)度或展開 (已損壞,例如,由于幀指針) 的堆棧損壞,或者驅(qū)動(dòng)程序正在從不是合法內(nèi)核堆棧的堆棧上執(zhí)行。
EXCEPTION_ON_INVALID_STACK參數(shù)
參數(shù) | 說明 |
---|---|
1 |
指向當(dāng)前堆棧的指針。 |
2 |
堆棧的類型限制(如 NormalStackLimits) (3) 。 由于堆棧無效,這表示內(nèi)核對給定計(jì)算機(jī)狀態(tài)時(shí)應(yīng)處于活動(dòng)狀態(tài)的內(nèi)核堆棧類型的最佳估計(jì)。
堆棧限制類型: 0x0 - 如果在 bug 檢查期間計(jì)算堆棧限制,則 bug 檢查堆棧 (任何堆棧) 0x1 - 處理器 DPC 堆棧 0x2 - KeExpandKernelStackAndCallout (Ex) 堆棧 0x3 - 普通內(nèi)核線程堆棧 0x4 - 線程上下文交換期間的內(nèi)核線程堆棧 (不明確哪個(gè)線程處于活動(dòng)狀態(tài)) 0x5 - win32k 內(nèi)核/用戶標(biāo)注堆棧 0x6 - 處理器 ISR 堆棧 0x7 - 內(nèi)核調(diào)試器堆棧在處理 KD I/O) 時(shí) (任何堆棧 0x8 - 處理器 NMI 處理堆棧 0x9 - 處理堆棧檢查處理器計(jì)算機(jī) 0xA - 處理器異常堆棧 (用于調(diào)度某些引發(fā)的 IRQL 異常) |
3 |
指向上下文記錄的指針,表示在遇到無效堆棧時(shí)為異常) 解除 (或調(diào)度的上下文。 |
4 |
提供表示正在調(diào)度的活動(dòng)異常的異常記錄。 |
原因
嘗試訪問無效堆棧。 由于內(nèi)核堆棧的大小有限,因此開發(fā)人員需要小心跟蹤它的限制,例如,當(dāng)使用它復(fù)制視頻內(nèi)存塊時(shí)。 有關(guān) Windows 內(nèi)核堆棧的信息,請參閱 使用內(nèi)核堆棧。
解決方法
使用完整內(nèi)核轉(zhuǎn)儲(chǔ)或附加的調(diào)試器,以下命令可能有助于收集信息并跟蹤錯(cuò)誤訪問內(nèi)存的代碼。
首先使用 !analyze 命令收集信息,特別是 bug 檢查參數(shù)。 檢查出錯(cuò)的源行和模塊名稱(如果可用)。
Arguments: Arg1: 00000018940ffbe8 Arg2: 0000000000000003 Arg3: ffffe301c8db2900 Arg4: ffffdc0e9ee665d8
使用 !analyze 輸出中提供的 .trap 命令鏈接將上下文設(shè)置為陷阱幀。
2: kd> .trap 0xffffdc0e9ee66680 NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=003f8b813f20b6e0 rbx=0000000000000000 rcx=ee7defdd9c530000 rdx=ffffcb81660ea078 rsi=0000000000000000 rdi=0000000000000000 rip=fffff8002b7f8933 rsp=ffffdc0e9ee66810 rbp=ffffcb81511c3010 r8=0000000000000001 r9=0000000000004014 r10=ffffdc0e9ee66910 r11=0000000000000000 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl zr na po nc dxgmms2!RemoveHeadList+0xd [inlined in dxgmms2!VidSchiSignalRegisteredSyncObjects+0x3f]: fffff800`2b7f8933 48395808 cmp qword ptr [rax+8],rbx ds:003f8b81`3f20b6e8=????????????????
使用 !vm 命令檢查內(nèi)存使用情況,例如,查看正在使用的內(nèi)核堆棧內(nèi)存量。
0: kd> !vm Physical Memory: 1541186 ( 6164744 Kb) Available Pages: 470550 ( 1882200 Kb) ResAvail Pages: 1279680 ( 5118720 Kb) ... Kernel Stacks: 13686 ( 54744 Kb)
在此示例中,使用的內(nèi)存量較少。
使用 !thread 命令收集有關(guān)正在運(yùn)行的內(nèi)容的信息。 在此示例中,它看起來像一個(gè)視頻計(jì)劃程序工作線程正在運(yùn)行。
2: kd> !thread THREAD ffffcb816348b040 Cid 0c58.4a1c Teb: 0000000000000000 Win32Thread: 0000000000000000 RUNNING on processor 2 Not impersonating DeviceMap ffff840f38c04170 Owning Process ffffcb81648980c0 Image: YourPhone.exe Attached Process N/A Image: N/A Wait Start TickCount 34501403 Ticks: 0 Context Switch Count 43 IdealProcessor: 3 UserTime 00:00:00.000 KernelTime 00:00:00.015 Win32 Start Address 0x00007fff34656d00 Stack Init ffffdc0e9ee675b0 Current ffffdc0e9ee66610 Base ffffdc0e9ee68000 Limit ffffdc0e9ee61000 Call 0000000000000000 Priority 8 BasePriority 8 PriorityDecrement 0 IoPriority 2 PagePriority 5 ...
然后使用 kb (顯示堆棧回溯) 和 f 選項(xiàng)顯示堆棧和內(nèi)存使用情況,以查看是否存在較大的內(nèi)存用戶。
2: kd> kf ... 02 40 ffffdc0e`9ee66850 fffff800`2b7f8801 dxgmms2!VidSchiMarkDeviceAsError+0x4d ...
如果代碼的特定部分看起來可疑,請使用 u、ub、uu (Unassemble) 命令檢查關(guān)聯(lián)的匯編語言代碼。
2: kd> u ffffdc0e`9ee66850 l10 ffffdc0e`9ee66850 1030 adc byte ptr [rax],dh ffffdc0e`9ee66852 1c51 sbb al,51h ffffdc0e`9ee66854 81cbffffc068 or ebx,68C0FFFFh ffffdc0e`9ee6685a e69e out 9Eh,al ffffdc0e`9ee6685c 0e ??? ffffdc0e`9ee6685d dcff fdiv st(7),st ffffdc0e`9ee6685f ff00 inc dword ptr [rax] ffffdc0e`9ee66861 0000 add byte ptr [rax],al ffffdc0e`9ee66863 0000 add byte ptr [rax],al ffffdc0e`9ee66865 0000 add byte ptr [rax],al ffffdc0e`9ee66867 000e add byte ptr [rsi],cl ffffdc0e`9ee66869 0000 add byte ptr [rax],al ffffdc0e`9ee6686b 0000 add byte ptr [rax],al ffffdc0e`9ee6686d 0000 add byte ptr [rax],al ffffdc0e`9ee6686f 0010 add byte ptr [rax],dl ffffdc0e`9ee66871 301c51 xor byte ptr [rcx+rdx*2],bl
使用 .cxr (顯示上下文記錄) 命令,使用 !analyze 提供的參數(shù) 3 值顯示上下文記錄。
2: kd> .cxr ffffe301c8db2900 rax=003f8b813f20b6e0 rbx=ffffcb813f607650 rcx=ee7defdd9c530000 rdx=ffffcb81660ea078 rsi=0000000000000000 rdi=ffffcb81511c30a8 rip=fffff8002b7f8933 rsp=ffffdc0e9ee66810 rbp=ffffcb81511c3010 r8=0000000000000001 r9=0000000000004014 r10=ffffdc0e9ee66910 r11=0000000000000000 r12=ffffdc0e9ee66910 r13=ffffcb814019c000 r14=0000000000000000 r15=ffffdc0e9ee66910 iopl=0 nv up ei pl zr na po nc cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00050246 dxgmms2!RemoveHeadList+0xd [inlined in dxgmms2!VidSchiSignalRegisteredSyncObjects+0x3f]: fffff800`2b7f8933 48395808 cmp qword ptr [rax+8],rbx ds:002b:003f8b81`3f20b6e8=????????????????
使用 .exr (顯示異常記錄) 命令,使用 !analyze 提供的參數(shù) 4 值顯示異常記錄。
2: kd> .exr ffffdc0e9ee665d8 ExceptionAddress: fffff8002b7f8933 (dxgmms2!RemoveHeadList+0x000000000000000d) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000000 Parameter[1]: ffffffffffffffff Attempt to read from address ffffffffffffffff
異常記錄指示嘗試讀取 和 地址ffffffffffffffff,這將是一個(gè)需要進(jìn)一步調(diào)查的區(qū)域。
另請參閱
Bug 檢查代碼參考