MFC C ++:TODO <文件描述=“”>已停止工作</file>

时间:2011-07-12 07:16:09

标签: c++ windows file mfc system

我写了一个程序试图在C:\ windows \目录中写一个文件。我用winXP,win7(64和32位)在几台电脑上测试了这个程序。但是当我在客户端的电脑上安装它时它崩溃了:TODO(文件描述)已停止工作 如果anybudy知道任何解决方案,请回复我。

6 个答案:

答案 0 :(得分:5)

解决方案是不要写入C:\Windows文件夹。您不是为Microsoft Windows团队工作。

答案 1 :(得分:4)

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

至于崩溃情景:

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

答案 2 :(得分:1)

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

无论如何,你有几件事要试图找出问题所在。如果调试不可能,您应该将代码的合理部分放在try catch块中(例如,您编写文件的部分)。如果发现错误,您可以输出有关错误部分的消息。您还应该包含logging solution并在代码的各个位置添加日志。安装更新的应用程序后,当您收到错误时,请在日志文件中查找代码停止的位置。

答案 3 :(得分:0)

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

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

  1. 应用程序数据在用户的文件夹下,如果文件是每个用户。
  2. ProgramData(Win7)或所有用户(XP)下的应用程序数据,如果文件是每个应用程序(日志左右)。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

“我写了一个试图在C:\ windows \目录下编写文件的程序。”

那就是你的问题。不要那样做。