Bespoke C++ Windows 应用程序崩溃并生成一个空的 dmp 文件
Bespoke C++ Windows app crashing and producing an empty dmp file
我们有一个内部 C++ 应用程序,我们是 运行 通过任务计划程序。我们正在尝试跟踪导致崩溃的应用程序问题,一个 windows 事件,我们通常会查找 .dmp 文件以使我们能够跟踪 visual studio.[=13= 中的问题]
但是,这些 windows 转储文件 [appname. dmp] 是零字节。
有没有人知道 .dmp 文件为空的潜在原因?
下面的示例事件日志以备不时之需。
非常感谢您的帮助和想法:)
安迪 P
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2021-11-09T15:48:04.642807400Z" />
<EventRecordID>5214</EventRecordID>
<Channel>Application</Channel>
<Computer>redacted>
<Security />
</System>
- <EventData>
<Data>redacted.exe</Data>
<Data>1.0.0.1</Data>
<Data>60816c15</Data>
<Data>KERNELBASE.dll</Data>
<Data>10.0.17763.2183</Data>
<Data>12a65345</Data>
<Data>e06d7363</Data>
<Data>001235e2</Data>
<Data>fa0</Data>
<Data>01d7d57fa38520cb</Data>
<Data>K:\redacted\redacted.exe</Data>
<Data>C:\WINDOWS\System32\KERNELBASE.dll</Data>
<Data>03eae790-81b8-4040-aab4-6068440c4db0</Data>
<Data />
<Data />
</EventData>
</Event>
MSDN 指出了一个非常重要的限制:从刚刚崩溃的进程内部写入小型转储是不可靠的。从你的问题中不清楚你是否使用单独的进程来编写转储(“redacted.exe”?),所以这绝对是一个可能的原因。
我们有一个内部 C++ 应用程序,我们是 运行 通过任务计划程序。我们正在尝试跟踪导致崩溃的应用程序问题,一个 windows 事件,我们通常会查找 .dmp 文件以使我们能够跟踪 visual studio.[=13= 中的问题]
但是,这些 windows 转储文件 [appname. dmp] 是零字节。
有没有人知道 .dmp 文件为空的潜在原因?
下面的示例事件日志以备不时之需。
非常感谢您的帮助和想法:)
安迪 P
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2021-11-09T15:48:04.642807400Z" />
<EventRecordID>5214</EventRecordID>
<Channel>Application</Channel>
<Computer>redacted>
<Security />
</System>
- <EventData>
<Data>redacted.exe</Data>
<Data>1.0.0.1</Data>
<Data>60816c15</Data>
<Data>KERNELBASE.dll</Data>
<Data>10.0.17763.2183</Data>
<Data>12a65345</Data>
<Data>e06d7363</Data>
<Data>001235e2</Data>
<Data>fa0</Data>
<Data>01d7d57fa38520cb</Data>
<Data>K:\redacted\redacted.exe</Data>
<Data>C:\WINDOWS\System32\KERNELBASE.dll</Data>
<Data>03eae790-81b8-4040-aab4-6068440c4db0</Data>
<Data />
<Data />
</EventData>
</Event>
MSDN 指出了一个非常重要的限制:从刚刚崩溃的进程内部写入小型转储是不可靠的。从你的问题中不清楚你是否使用单独的进程来编写转储(“redacted.exe”?),所以这绝对是一个可能的原因。