在 Visual Studio 中调试时出现 BSOD

在 Visual Studio 中调试时出现 BSOD

因此,几天以来,我一直收到一些非常随机的蓝屏。总是同样的错误:系统线程异常未处理(HTTP.sys)

第二次出现错误后,我更新了所有内容(Windows、固件、BIOS、VisualStudio 等),但问题仍然存在。然后联系了供应商,他可能做了和我一样的事情,拿回了设备,但问题仍然存在。

据我所知,错误发生在 HTTP.sys 中,而该系统在我开始收到错误的那天“恰巧”进行了更新:

驱动程序查看器

蓝屏查看器

现在,我已经找到了如何让计算机崩溃的方法:

使用我们的项目打开 Visual Studio,开始调试。打开一个页面,更改该页面的一些 html/css,在浏览器中刷新 -> BSOD。

找到复制方法后,我在 3 台不同的电脑上尝试了,它们都遇到了同样的问题。但它们的 HTTP.sys 都在上周更新过了。

我即将翻转桌子,所以如果有人知道我该如何解决,或者获得有关究竟发生了什么的更多信息,我将不胜感激。

答案1

我已设法通过卸载 Windows 更新 KB5003637 解决了该问题。没有该特定更新的同事卸载了 6 月份的所有更新,也不再遇到任何问题。

答案2

我们在软件开发人员使用本地 IIS 网站时也遇到过类似的问题,即 http.sys 模块中出现 Windows 错误检查 (BSOD)。

我们已在此处向微软论坛发布了一条消息

我们还向微软开具了支持票,但尚未收到回复。

如果可能的话,您可以从 Microsoft Store 运行免费工具 WinDbg Preview,并运行 !analyze -v: https://www.microsoft.com/en-us/p/windbg-preview/9pgjgd53tn86?activetab=pivot:overviewtab 并从小型转储中获取堆栈,只是好奇它是否与我们拥有的调用堆栈相同:

HTTP!UxDuoAllocateCatalogParcel+0x91
HTTP!UxDuoSubmitTaskParcels+0x36
HTTP!UxDuoExecuteStreamSend+0x162
HTTP!UxDuoTaskWorker+0x12e
HTTP!UlpThreadPoolWorker+0x112
nt!PspSystemThreadStartup+0x55
nt!KiStartSystemThread+0x28

以下是我们的 minidump 的完整输出!analyze -v

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M (1000007e)
This is a very common BugCheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Some common problems are exception code 0x80000003.  This means a hard
coded breakpoint or assertion was hit, but this system was booted
/NODEBUG.  This is not supposed to happen as developers should never have
hardcoded breakpoints in retail code, but ...
If this happens, make sure a debugger gets connected, and the
system is booted /DEBUG.  This will let us see why this breakpoint is
happening.
Arguments:
Arg1: ffffffffc0000005, The exception code that was not handled
Arg2: fffff8047f3fb729, The address that the exception occurred at
Arg3: ffff8584a220f6d8, Exception Record Address
Arg4: ffff8584a220ef10, Context Record Address

Debugging Details:
------------------


KEY_VALUES_STRING: 1

    Key  : AV.Fault
    Value: Read

    Key  : Analysis.CPU.mSec
    Value: 2093

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 2109

    Key  : Analysis.Init.CPU.mSec
    Value: 342

    Key  : Analysis.Init.Elapsed.mSec
    Value: 3365

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 80


DUMP_FILE_ATTRIBUTES: 0x8
  Kernel Generated Triage Dump

BUGCHECK_CODE:  7e

BUGCHECK_P1: ffffffffc0000005

BUGCHECK_P2: fffff8047f3fb729

BUGCHECK_P3: ffff8584a220f6d8

BUGCHECK_P4: ffff8584a220ef10

EXCEPTION_RECORD:  ffff8584a220f6d8 -- (.exr 0xffff8584a220f6d8)
ExceptionAddress: fffff8047f3fb729 (HTTP!UxDuoAllocateCatalogParcel+0x0000000000000091)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: ffffffffffffffff
Attempt to read from address ffffffffffffffff

CONTEXT:  ffff8584a220ef10 -- (.cxr 0xffff8584a220ef10)
rax=0000000000000000 rbx=ffffa48cca97d350 rcx=0000000000000000
rdx=ffffd20fb8ccc040 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8047f3fb729 rsp=ffff8584a220f910 rbp=ffffd20fd04e8ba0
 r8=32313a34353a3431  r9=00000000000000eb r10=0000000049597855
r11=0000000000001001 r12=ffffd20fd42c9e00 r13=ffff8584a220f9c8
r14=ffffd20fd3ecd180 r15=ffffd20fcd8dc220
iopl=0         nv up ei pl nz na pe nc
cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00050202
HTTP!UxDuoAllocateCatalogParcel+0x91:
fffff804`7f3fb729 418b44c814      mov     eax,dword ptr [r8+rcx*8+14h] ds:002b:32313a34`353a3445=????????
Resetting default scope

BLACKBOXBSD: 1 (!blackboxbsd)

BLACKBOXNTFS: 1 (!blackboxntfs)

BLACKBOXPNP: 1 (!blackboxpnp)

BLACKBOXWINLOGON: 1

CUSTOMER_CRASH_COUNT:  1

PROCESS_NAME:  System

READ_ADDRESS: fffff804658fb390: Unable to get MiVisibleState
Unable to get NonPagedPoolStart
Unable to get NonPagedPoolEnd
Unable to get PagedPoolStart
Unable to get PagedPoolEnd
unable to get nt!MmSpecialPagesInUse
 ffffffffffffffff 

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  ffffffffffffffff

EXCEPTION_STR:  0xc0000005

STACK_TEXT:  
ffff8584`a220f910 fffff804`7f3fbbea     : 00000000`00000000 ffffa48c`ca97d350 ffffd20f`d3ecd180 ffffd20f`d3ecd180 : HTTP!UxDuoAllocateCatalogParcel+0x91
ffff8584`a220f970 fffff804`7f4f2622     : 00000000`00000000 00000000`00000000 ffffd20f`d3ecd180 00000000`00000000 : HTTP!UxDuoSubmitTaskParcels+0x36
ffff8584`a220f9c0 fffff804`7f3f290e     : ffffd20f`d42d3c00 ffffa48c`c1e7cc80 ffffd20f`d04e8e48 ffffa48c`c1e79940 : HTTP!UxDuoExecuteStreamSend+0x162
ffff8584`a220fa30 fffff804`7f489952     : fffff804`7f3f27e0 fffff804`7f3f27e0 00000000`00000000 00000000`00000001 : HTTP!UxDuoTaskWorker+0x12e
ffff8584`a220fa80 fffff804`64ef53b5     : ffffd20f`d04e8e60 fffff804`7f457f80 00000000`000005c0 00000000`00000001 : HTTP!UlpThreadPoolWorker+0x112
ffff8584`a220fb10 fffff804`64ffe278     : ffffe380`5c700180 ffffd20f`b92d8040 fffff804`64ef5360 00000000`00000000 : nt!PspSystemThreadStartup+0x55
ffff8584`a220fb60 00000000`00000000     : ffff8584`a2210000 ffff8584`a2209000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x28

SYMBOL_NAME:  HTTP!UxDuoAllocateCatalogParcel+91

MODULE_NAME: HTTP
IMAGE_NAME:  HTTP.sys
IMAGE_VERSION:  10.0.19041.1023
STACK_COMMAND:  .cxr 0xffff8584a220ef10 ; kb
BUCKET_ID_FUNC_OFFSET:  91
FAILURE_BUCKET_ID:  AV_HTTP!UxDuoAllocateCatalogParcel
OSPLATFORM_TYPE:  x64
OSNAME:  Windows 10
FAILURE_ID_HASH:  {f44d901e-c1b4-c767-47ce-3fe57c6affe4}

其他可能与此问题相关的帖子:

答案3

好的,现在我已经稳定地进行了大约 30 分钟的调试并进行了编辑,我想我可能已经成功了。

在 global.asax 中的 Application_Start 中添加“TelemetryConfiguration.Active.DisableTelemetry = true;”以关闭应用程序洞察/性能监控,似乎可以让我再次工作。

我遇到了和你完全相同的错误(同样是由地址引起的,同样的 dll,同样的 html 编辑崩溃),但我还在每次崩溃之前在事件日志中发现了以下错误。“无法打开服务器服务性能对象。数据部分的前四个字节(DWORD)包含状态代码。”其中源是 perfnet。

编辑:没关系!大约 2 小时后再次出现 BSOD

相关内容