C++ MFC&x2B+;:待办事项<;文件描述>;他停止工作了
我写了一个程序,试图在C:\windows\目录下写一个文件。我已经用winXP、win7(64位和32位)在几台电脑上测试了这个程序。但是当我把它安装到我客户的电脑上时,它崩溃了,并显示消息:TODO(文件描述)已停止工作C++ MFC&x2B+;:待办事项<;文件描述>;他停止工作了,c++,windows,file,mfc,system,C++,Windows,File,Mfc,System,我写了一个程序,试图在C:\windows\目录下写一个文件。我已经用winXP、win7(64位和32位)在几台电脑上测试了这个程序。但是当我把它安装到我客户的电脑上时,它崩溃了,并显示消息:TODO(文件描述)已停止工作 如果任何人知道任何解决方案,请回复我。您是否可能关闭了UAC,但您的客户没有?或者,客户的用户是否没有管理权限?不允许用户进程写入c:\Windows文件夹。如果是这种情况,尝试创建文件将引发异常 创建数据文件的正确位置应为: 用户文件夹下的应用程序数据(如果该文件为每个用
如果任何人知道任何解决方案,请回复我。您是否可能关闭了UAC,但您的客户没有?或者,客户的用户是否没有管理权限?不允许用户进程写入c:\Windows文件夹。如果是这种情况,尝试创建文件将引发异常 创建数据文件的正确位置应为:
有几个可能的原因,其中包括没有写入权限(可能运行程序的用户没有对C:\Windows文件夹的写入权限。请尝试在该位置手动创建文件)或编程错误
在任何情况下,你都需要做一些事情来解决这个问题。如果无法调试,则应将代码的合理部分放在块中(例如,编写文件的部分)。如果发现错误,您可以输出有关错误所在部分的消息。您还应该在代码的各个位置包括一个和添加日志。安装更新后的应用程序后,如果出现错误,请在日志文件中查找代码停止的位置。解决方案是不要写入
C:\Windows
文件夹。您不是为Microsoft Windows团队工作 除了权限问题之外,第一件会导致应用程序崩溃的事情就是没有在客户端的PC上安装运行时。您的安装包是否安装了MSVC运行时?如果没有,您是否在那台电脑上安装了MSVC可再发行运行时?您为您的客户提供了一款“TODO:…”产品,这真是太棒了?请编辑版本信息以反映您的产品名称~
至于坠机场景:
- 检查你的应用程序是否真的需要管理员权限,如果需要,从“以管理员身份运行”开始,看看它是否解决了问题
- 在“停止工作对话框”或Windows事件查看器中查看问题详细信息。在这两者中,您都可以看到异常代码(如0xC0000005)和DLL名称。为此,您应该通过在链接器设置中启用
标志来启用PDB文件生成(这与编译器设置中的_DEBUG宏不同)/DEBUG
- 放置一些文件日志或消息框(临时)并查看程序是否正常运行。是的,您需要做一些更改,构建并再次提供给您的客户(请不要将“待办事项”作为产品名称-要专业!)
这就是你的问题所在。不要这样做。你做了程序的发布版本吗?@John Paul:是的,做了程序的发布版本如果我们不能检查代码,我们怎么知道解决方案?你不能打电话给你父亲说“我的车坏了,我该怎么办?”。原因包括电池坏了,汽油没了,油没了,过热,火花塞坏了,穿孔,方向盘被偷了,汽车被偷了,车里有定时炸弹,试图开车上山,交通堵塞,乘客太重,等等。等等。明白我的意思了吗?@phresnel:谢谢你的宝贵意见。我曾尝试在客户端PC上用管理员用户运行该程序,但结果是相同的错误。@rahh,只是想确定一下-你是用管理员组成员的用户运行该程序,还是使用“以管理员身份运行”来运行该程序?如果是Vista/7/2008站点,您应该同时使用这两个选项-使用本地管理员用户,并以管理员身份运行。@rahhh:真不幸。正如Micrsoft的Raymond Chen所说,“我们相信程序员会做正确的事情”。直到现在,他们才更加积极地执行旧规则。