MFC C++:TODO<文件说明>已停止工作

MFC C++: TODO <file description> has stopped working

本文关键字:说明 gt 停止工作 文件 lt C++ TODO MFC      更新时间:2023-10-16

我写了一个程序,试图在C:windows目录下写一个文件。我已经在几台安装了winXP、win7 (64 &32位)。但是当我把它安装在我客户端的PC上时,它崩溃了,并显示:TODO(文件描述)已经停止工作如果有人知道任何解决方案,请回复我。

解决方案是不写入C:Windows文件夹。你不是在为微软的Windows团队工作。

你给你的客户一个"TODO:…"的产品真是太棒了?请编辑版本信息以反映您的产品名称~

对于崩溃场景:

  • 检查你的应用程序是否真的需要管理员权限,如果是,以"以管理员身份运行"开始,看看是否解决了问题。
  • 在"停止工作对话框"或Windows事件查看器中查看问题详细信息。在这两种情况下,您都可以看到异常代码(如0xC0000005)和DLL名称。为此,您应该通过在链接器设置中启用/DEBUG标志来启用PDB文件生成(这是而不是与编译器设置中的_DEBUG宏相同!)。
  • 设置一些文件记录或消息框(临时),看看程序是否正常运行。是的,你需要做一些改变,构建并再次给你的客户(请不要将"TODO"作为产品名称-要专业!)。

有几个可能的原因,其中包括没有写访问权限(可能运行程序的用户没有对C:Windows文件夹的写访问权限)。尝试在该位置手动创建文件。)或编程错误。

无论如何,你有一些东西可以试图找出问题。如果调试是不可能的,你应该把代码的合理部分放在try - catch块中(例如你写文件的部分)。如果错误被捕获,你可以输出关于错误所在部分的消息。您还应该包含一个日志解决方案,并在代码的不同位置添加日志。在安装了更新后的应用程序之后,当出现错误时,请在日志文件中查找代码停止的位置。

是否有可能您已关闭UAC,但您的客户端没有?或者,客户机的用户没有管理权限吗?不允许用户进程写入c:Windows文件夹。如果是这种情况,尝试创建文件将抛出异常。

创建数据文件的正确位置是:

  1. 用户文件夹下的应用程序数据,如果文件是每个用户。
  2. ProgramData (Win7)或Application Data under All Users (XP),如果文件是每个应用程序(日志之类的)。

除了权限问题之外,导致应用程序崩溃的第一件事就是没有在客户端PC上安装运行时。您的安装包是否安装MSVC运行时?如果没有,您是否在该PC上安装了MSVC可重新发布的运行时?

"我写了一个程序,试图在C:windows目录下写一个文件。"

这就是你的问题。别这样。