Windows C++ 服务启动时 ucrtbase.dll 出现故障

2024-02-24

所以我开发这个程序已经有一段时间了...它的目的是充当我们 IT 团队的资产管理器(将来可能会更多)。我有 2 项服务,我们现在将其称为“Manager”和“IAM”。 “管理器”负责所有服务(目前只有库存资产管理器,称为“IAM”)的所有管理工作,例如自动更新等,而资产管理器则完成其工作。

不管怎样,它已经工作了一段时间了。最近我实现了一个自动更新功能(实际上仍然需要测试和可能调试)。在执行此操作时,我需要使命名保持一致(例如,将我的服务从“Updater”和“CppWindowsService”重命名为软件的实际名称)。

在此之前,它一直运行良好!启动、停止、安装和卸载都没有出现任何问题。我更改了所有内容的名称,并确保一切都可以正常编译。看起来不错。现在安装对于“Manager”和“IAM”都非常有效,但是当我尝试启动它时,我得到:

启动服务失败 (1053)

另外,当我尝试从 services.msc 启动它时,我收到以下错误消息:

Windows 无法在本地计算机上启动该服务。

错误1053:服务没有及时响应启动或控制请求

但奇怪的是它不会等待任何超时。它只是立即吐出消息。该消息来自我的 wmain() (Windows 入口点)调用的代码。main()否则。)功能。

if (!StartService(
        schService,  // handle to service 
        0,           // number of arguments 
        NULL))      // no arguments 
    {
        printf("StartService failed (%d)\n", GetLastError());
        CloseServiceHandle(schService);
        CloseServiceHandle(schSCManager);
        return;
    }
    else printf("Service start pending...\n");

在 Windows 事件日志中,我收到一个应用程序错误,其中包含故障后的以下详细信息。

错误应用程序名称:InITManager.exe,版本:0.0.0.0,时间戳:0x59e11e44

错误模块名称:ucrtbase.dll,版本:10.0.15063.674,时间戳:0x8ac9f9d4

异常代码:0xc0000409

故障偏移:0x000000000007350e

错误进程 ID:0x3008

错误的应用程序启动时间:0x01d346915918e17d

错误的应用程序路径: C:\Users\collin.walker\Desktop\InITService\C++\x64\Release\Manager.exe

错误模块路径: C:\WINDOWS\System32\ucrtbase.dll

报告 ID:7fcbdcc4-be8e-476a-960f-4fa1fb21f892

错误包全名:

错误包相关应用程序 ID:

其他信息:ucrtbase.dll 由 Visual Studio 使用,并与发布版本关联,而 ucrtbased.dll 与调试器版本关联。我正在发布模式下构建。

现在,我已经被告知问题不是我的代码,但如果有人觉得他们需要看到它,我会将其包含在内。不过,它是非常简单的 c++ winapi 东西。

如果有人对如何解决此问题有任何进一步的建议,请告诉我,并提前感谢所有帮助!


在我的故障排除过程中有点忘记了这篇文章......无论如何,我想通了。上面的评论很到位!

对我来说,缓冲区溢出是由于我更改了服务名称,这也更改了程序目录名称。当我在服务的构造函数中初始化日志对象时发生错误。我在构造函数中只有两行代码,所以我完全忘记查看那里。更改了创建日志的硬编码目录位置,一切都开始工作得很好!感谢大家提供有用的信息!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows C++ 服务启动时 ucrtbase.dll 出现故障 的相关文章

  • Inno Setup 无法导入 DLL

    我没有运气将 Delphi DLL 导入 Inno Setup Unicode 该DLL有一个简单的过程 procedure Foo stdcall begin end exports Foo 该 DLL 包含在安装程序源中 并添加到文件列
  • OSGi 应用程序设计 - 我是否滥用服务框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在我们正在开发的应用程序中 我有一个供数据提供程序组件实现的通用接口 并且我将这些提供程序作为服务连接起来 我的一位同事建议 最好只创建一项可以
  • PHP OCI8 扩展不适用于 PHP 7 64 位

    我已经安装了 APACHE 2 4 x64 和 PHP7 x64 并下载了 PHP OCI 64 位库 但问题是每当我从 cli 运行 PHP 脚本时 它都会说 PHP启动 无法加载动态库 E 软件 服务器 php 7 0 11 Win32
  • 无法在 Windows 的多处理环境中“pickle”Tkinter 对象

    我正在尝试创建一个应用程序 其中 Tkinter GUI 由不断获取数据的其他对象更新 我在使用多线程时遇到问题 因此我决定尝试使用多处理模块 我发现您无法在其中运行 Tkinter 窗口multiprocessing Process 这是
  • Windows EventLog:它的操作速度有多快?

    我有一个服务应用程序 它通过 TCP 处理客户端请求并将任何事件写入 Windows EventLog 由于该应用程序预计会在短时间内为许多客户端和每个客户端的大量请求提供服务 假设每秒 1 到 50 个请求 因此我很想知道密集程度 CPU
  • Windows 7 和 Windows 8(桌面/Metro)中的 Internet Explorer 10 有何不同?

    Windows 7 和 Windows 8 上的 IE10 桌面模式和 或 Metro 模式 有什么区别 像 渲染差异 包括硬件加速 DX 过滤器和媒体查询 JS 差异 例如触摸事件 窗口大小调整 插件差异 它们对 Flash 的沙箱处理方
  • 如何在 Firebase 实时数据库上安排通知?

    我正在为我工 作的公司开发一个 flutter 通信应用程序 但我遇到了两个问题 这是我需要做的 1 向用户组或特定用户发送通知 并将这些通知保存在数据库或json文件中 该列表将作为 最新新闻 出现在我的应用程序的主屏幕上 问题是 当应用
  • 如何从与桌面交互的应用程序与 Windows 服务进行通信?

    使用 Net 与服务交互的最佳方式是什么 即大多数托盘应用程序如何与其服务器通信 如果这个方法也是跨平台的 那就更好了 在 Mono 中工作 所以我猜远程处理已经过时了 Edit 忘了说了 我们仍然需要在现场支持 Windows 2000
  • 使用带有 _O_U8TEXT 的 setmode 处理 unicode 时 C++ 崩溃

    我尝试打印 unicode 的是 setmode fileno stdout O U8TEXT string str u8 unicode hangul cout lt lt str lt lt endl 我使用 setmode 来正确显示
  • Python 在打开套接字时可以选择哪个网络适配器吗?

    运行 python 应用程序的目标计算机将具有三个可用的网络接口 一般来说 所有三个网络都会有很大不同 但是三个网络中的两个可能位于相似的网络上 在下面的示例中 我无法控制 ETH 2 上的目标地址 因为它是预先配置的系统 因此我被迫以编程
  • 尝试从 Polar H10 获取心率变异性 [蓝牙低功耗示例 UWP]

    我正在与 Polar H10 合作 从中获取心率变异性 我在跑步蓝牙低功耗示例 https github com Microsoft Windows universal samples tree master Samples Bluetoo
  • 如何测试 Windows (10) 上是否安装了 Python,如果未安装则运行 exe 来安装它?

    仅当第一个命令失败时 我才需要在 Windows cmd 上运行第二个命令 在另一个场景中 我想在检查 python setup 是否安装后打开它 我用了这个命令 python version path to python install
  • 如何从 Python (2.7) 中生成的进程中消除 Windows 控制台? [复制]

    这个问题在这里已经有答案了 可能的重复 在没有控制台的情况下使用 Popen 在 python 中运行进程 https stackoverflow com questions 1813872 running a process in pyt
  • 如何根据操作系统系列拥有不同的依赖关系

    我正在编写一个跨平台库 它具有特定于平台的依赖关系 一个用于类 UNIX 平台 一个用于 Windows 这些板条箱仅在特定平台上编译 因此我不能正常地将它们全部添加到依赖项下 在我实际使用的 Rust 代码中cfg属性 例如 cfg un
  • 没有工作树就无法使用 Git-Windows-git-pull

    我在 Windows 上遇到与 Git 相关的问题 无法从 git 上的存储库中提取更改 我能够添加 提交和推送我的更改 但不能拉取 它给了我一个错误 致命 C Git libexec git core git pull 不能在没有 工作树
  • 批处理文件中的 %* 是什么意思?

    我见过的用法 在批处理文件和命令行中 有人可以解释一下的典型用法吗 有一个例子吗 它的意思是 命令行中的所有参数 例如 当您想要将命令行从批处理文件转发到另一个程序时 它非常有用 REM mybatchfile cmd echo You c
  • 自动化 Windows UI 测试方法

    我们正在寻求设置自动化 UI 测试 并想知道最好的方法是什么 潜在的陷阱是什么 设置费用是否昂贵 提前致谢 B 自动化测试最大的消耗可能是时间 有很多非常昂贵的工具 但也有免费的工具 即使是昂贵的工具的成本也不太可能与正确设置自动化测试所需
  • 当我启动程序时,Arduino IDE (Win10) 崩溃

    我的 Arduino IDE Win10 上的版本为 1 8 12 在启动时崩溃 运行arduino debug exe我收到此错误消息 C Program Files x86 Arduino gt arduino debug exe Se
  • 在 Windows 上使用 Python 打开设备句柄

    我正在尝试使用 Giveio sys 驱动程序 该驱动程序需要先打开一个 文件 然后才能访问受保护的内存 我正在查看 WinAVR AVRdude 中的 C 示例 它使用以下语法 define DRIVERNAME giveio HANDL
  • 在 docker windows 上运行 linux 容器

    我在 Windows 10 机器上安装了 Docker for Windows 它要求我启用 HyperV 功能 一切都安装正确并且运行良好 虽然有一件事让我大吃一惊 我实际上能够在 docker windows 上运行 Linux 容器

随机推荐

  • JavaTypeDescriptorRegistry - 找不到所请求的 Java 类的匹配类型描述符

    我有一个项目运行没有任何问题 除了这个警告消息 WARN org hibernate type descriptor java JavaTypeDescriptorRegistry Could not find matching type
  • 从第三方将CSS注入到iframe中

    我们可以将一堆 CSS 文件从第三方 例如托管广告的 OAS 注入到 iframe 中吗 如果可能的话 我们将不胜感激 通过使用 jQuery 选择器 您应该能够做到这一点 但是 对 iframe 内容不应有任何限制 即它应该来自同一域 对
  • 使用 StreamReader 检查文件是否包含字符串

    我有一个字符串是args 0 到目前为止 这是我的代码 static void Main string args string latestversion args 0 create reader open file using Strea
  • 如何从无限字节流中读取 UTF-8 字符 - C#

    通常 要从字节流中读取字符 您可以使用 StreamReader 在此示例中 我从无限流中读取由 r 分隔的记录 using var reader new StreamReader stream Encoding UTF8 var mess
  • 如何修复 android Adob​​e SDK 工具中的此错误?

    我已将 Adob e Editor 集成到我的 Android 应用程序中 它工作正常 更新我的 Android Studio 后 它崩溃了 我在gradle中添加了 android compileSdkVersion 26 buildTo
  • 如何释放 boost::mpi::request?

    我正在尝试让 MPI 断开通信器 这是一件很棘手的事情 我在下面整理了一个演示 我有相同想法的两个版本 侦听 int 一个使用 MPI IRecv 另一个使用 boost mpi request 您会注意到 在此程序上使用 mpiexec
  • 单击单元格时的操作

    H 我是 VBA 新手 这可能是一个太简单的问题 但我正在努力使用 VBA 当单元格 1 1 被点击时 因为它有1 消息框会显示 hi Sub test click action when cell 1 1 is clicked and i
  • 如何动态更改黑莓标签字段的字体颜色?

    我有一个标签字段和三个按钮 名称分别为红色 黄色 蓝色 如果我单击红色按钮 则标签字段字体颜色应更改为红色 同样 如果我单击黄色按钮 则字体颜色应更改为黄色 同样 根据按钮颜色 标签字段中的字体颜色应发生变化 谁能告诉我该怎么做 Label
  • Laravel Session 检测到一个域、多个数据库

    我读过几篇文章 主题 例如this https stackoverflow com questions 31847054 how to use multiple databases in laravel this https medium
  • Git 存储库太大

    我有一个项目 其中包含大约 12MB 的代码和资产 我一直在使用 Git 跟踪它 并且刚刚注意到我的 git文件夹现在刚刚超过 1 83GB 它由几个小文件组成 然后是一个包文件 约占该文件夹的 1 82GB 我已经跑了git gc agg
  • 检测android中home按钮的点击事件(应用程序启动器图标)

    如何识别android中应用程序启动器图标中的点击事件 一旦用户单击此图标 我需要转到主屏幕 例如 假设这是清单文件
  • WPF 中的图像可见性问题 - 按下按钮时不显示

    我正在用 C 开发一个 WPF 应用程序 其中有一个按钮可以切换图像的可见性 我已按照说明进行操作并实现了以下代码来处理按钮单击 XAML
  • 保存到服务器后图像质量下降。

    我正在捕获图像 并将其保存到服务器路径中 它工作正常 捕获的图像看起来质量不错 但将图像保存到服务器后 其质量下降 这是我的代码 这是我的活动 import java io BufferedReader import java io Byt
  • 无法在 android studio 的模拟器中启动 AVD。参数无效

    我在 Android Studio 2 1 2 中遇到模拟器问题 当我尝试启动 AVD 时 我收到一条消息 无法在模拟器中启动 AVD Output 哈克斯已启用 该虚拟机所需的内存超出了驱动程序限制 Hax ram size 0x6000
  • 如何并行化行式 Pandas 数据帧的 apply() 方法

    我有以下代码 import pandas as pd import time def enrich str str val1 f str 1 val2 f str 2 val3 f str 3 time sleep 3 return val
  • 使用 JSONDecoder 解码 PascalCase JSON

    我需要用大写首字母 又名 PascalCase 或 UppperCamelCase 解码 JSON 如下所示 Title example Items hello world 所以我创建了一个符合以下条件的模型Codable struct M
  • 如何使用 codeigniter 表单助手添加属性

    我找不到这个问题的答案 假设我使用代码点火器表单助手输出一个输入字段 echo form input username username 如何添加属性 例如class or id对此input filed 您可以传递一个关联数组 其中包含您
  • 我应该在长时间运行的 AsyncTask 中使用 getApplicationContext 还是 Activity.this

    我有一个长时间运行的异步任务 它将一些数据发送到我的服务器 然后停止 整个过程可能涉及一些请求和响应 我必须从数据库读取数据 发送数据并处理响应并相应地更新我的数据库 我正在使用内容提供程序从数据库读取和更新数据 现在要使用内容提供程序 我
  • 将数组除以值的有效方法是什么?

    只是想知道 将数组除以标量的最有效方法是什么 我可以清楚地循环它 但在我的情况下效率是最重要的 常见的琐碎方式 var array 2 var array 1 original data var divisor my scalar for
  • Windows C++ 服务启动时 ucrtbase.dll 出现故障

    所以我开发这个程序已经有一段时间了 它的目的是充当我们 IT 团队的资产管理器 将来可能会更多 我有 2 项服务 我们现在将其称为 Manager 和 IAM 管理器 负责所有服务 目前只有库存资产管理器 称为 IAM 的所有管理工作 例如