iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用 CreateProcessAsUserW() 从服务启动时,Windows 计算器应用程序会因 WerFault 不一致而崩溃
  • 220
分享到

使用 CreateProcessAsUserW() 从服务启动时,Windows 计算器应用程序会因 WerFault 不一致而崩溃

2024-02-06 05:02:08 220人浏览 安东尼
摘要

问题内容 windows 服务是用 Go 编写的,并尝试使用 CreateProcessAsUserW() 在用户上下文中创建计算器进程。 它的代码的灵感来自于这个要点: https:

问题内容

windows 服务是用 Go 编写的,并尝试使用 CreateProcessAsUserW() 在用户上下文中创建计算器进程。

它的代码的灵感来自于这个要点:

https://GISt.GitHub.com/LiamHaworth/1ac37f7fb6018293fc43f86993Db24fC#file-native-go

大多数时候,计算器应用程序会在活动用户中启动;但是,有时应用程序启动失败,但 CreateProcessAsUserW() 不会返回任何错误。

使用 Procmon 检查发现,在启动计算器应用程序时,该应用程序崩溃并诉诸于收集 WerFault 转储。不幸的是,我在事件日志中没有看到详细的转储。

在 ProcMon 中观察到 WerFault 崩溃

使用 CreateProcessAsUserW 启动 3 个类似计算器应用程序的详细堆栈跟踪 - 前两个成功,第三个失败

此错误本质上是随机的,这并不会使应用程序变得可靠。我对从这里调试什么/如何调试非常一无所知,并且非常感谢您的帮助。


正确答案


该错误似乎是由于错误的编译环境而发生的,其中使用 x64 创建的二进制文件在arm64上运行。感谢大家的输入

以上就是使用 CreateProcessAsUserW() 从服务启动时,Windows 计算器应用程序会因 WerFault 不一致而崩溃的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 使用 CreateProcessAsUserW() 从服务启动时,Windows 计算器应用程序会因 WerFault 不一致而崩溃

本文链接: https://www.lsjlt.com/news/561191.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作