这个 Windows 故障转储是啥意思?

Posted

技术标签:

【中文标题】这个 Windows 故障转储是啥意思?【英文标题】:What does this Windows crash dump mean?这个 Windows 故障转储是什么意思? 【发布时间】:2010-01-10 06:32:01 【问题描述】:

昨天我的系统软件在 WINDOWS 2003 服务器上崩溃了。如下所示的核心。

  kernel32.dll!_RaiseException@16()  + 0x3c bytes 

  rpcrt4.dll!_RpcpRaiseException@4()  + 0x21 bytes 

  rpcrt4.dll!_NdrGetBuffer@12()  - 0x1d3fe bytes 

  rpcrt4.dll!_NdrClientCall2()  + 0x132 bytes 

  hnetcfg.dll!_FwOpenDynamicFwPort@16()  + 0x1d bytes 

  hnetcfg.dll!_IcfOpenDynamicFwPort@12()  + 0x6a bytes 

  mswsock.dll!_WSPBind@16()  + 0xa55 bytes 

  ws2_32.dll!_bind@12()  + 0x4e bytes 

  sal.dll!s_SktBind(s_Socket * sp=0x05943800, SAL_AddrBuf_t 
* addrp=0x057cfe00,unsigned int addrsz=0x00000042)  Line 76 + 0x14 bytes C++

  sal.dll!SAL_SktBind(SAL_SktHandle_t * sh=0x05943800, SAL_AddrBuf_t 
*addrp=0x057cfe00, unsigned int addrsz=0x00000042)  Line 101 + 0xe bytes C++

注意:sal.dll 是我的软件模块。它从我们的函数 SktBind() 调用系统调用 bind()

你能告诉它为什么会崩溃吗?以及如何解决这个问题。

如果你有任何的cmets或建议,请与我分享。

【问题讨论】:

一长串破折号会影响您的格式。 【参考方案1】:

sal.dll 中函数 s_SktBind() 对 bind() 的调用导致了崩溃。

我要检查的第一件事是您是否使用正确的参数调用了 bind()。

【讨论】:

【参考方案2】:

在我看来,这不像是内核编程(重新标记)。

哪个进程出错了?看起来像你的程序,因为你有行号信息。

出了什么问题?影音?还是其他一些例外?

粘贴崩溃的行和周围的代码。 (定义 SAL_SktBind 的文件的第 101 行)。

【讨论】:

【参考方案3】:

hnetcfg.dll 是与 Microsoft Corporation 的家庭网络配置管理器相关的进程。

在 Microsoft 支持中搜索相关文章(例如 maybe this one)

问题根源的代码似乎与网络有关。这是正确的吗?

【讨论】:

【参考方案4】:

我认为您没有发布完整的调用堆栈,但 sal.dll 是 Novell 提供的 dll,这是错误的来源。因此,您可能需要检查此 dll 的更新版本是否可用。

【讨论】:

以上是关于这个 Windows 故障转储是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

windoes任务管理器中的“句柄数”是啥意思!

IntelliJ 故障转储文件的位置是啥?

在 Windows 上调试 linux 故障转储

windows故障转储文件详细内存使用分析?

在Windows 7上禁用应用程序故障转储

java堆转储中那些奇怪的类名是啥意思?