0

我在 VS 2010 中用 Visual c++ 制作了一个控制台应用程序。我添加了控制台处理程序,这样当我按下Ctrl+时C,应用程序可能会成功终止,并且它对我来说没有错误。后来我把应用程序放到了一个窗口服务中,在下面的案例 SERVICE_CONTROL_STOPSERVICE_CONTROL_SHUTDOWN. 当我停止服务时,我收到错误

检测到堆损坏:在 0x003C5420.CRT 的正常块(#119)之后检测到应用程序在堆缓冲区结束后写入内存。`

我应该怎么做才能解决这个问题?

4

1 回答 1

1

您需要分析此故障后创建的转储文件。

  1. 所以第一步是设置收集转储文件
  2. 然后使用 pdb-files 在发布模式下构建您的程序并将其作为 Windows
    服务运行。
  3. 最后,当您有此故障的转储文件时,您可以
    使用调试器来分析它们。我经常为此目的使用
    WinDbg
于 2012-12-07T07:43:24.713 回答