程序遇到一个未知错误

一剑飘雪 2010-12-23 04:25:43
我们开发一个产品,用户在使用的时候,正常操作一些流程最后单击某个按钮,就出现了如图这个情况。
我在网上查了,说一搬I/O error 32 一般是读写文件错误。
虽然我们的程序有读写文件这个功能。但是用户说没有打开这个ini文件。
所以很苦恼。
备注:L-AppClient.exe 是我们程序的进程名字。
...全文
380 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
likeyrain 2010-12-31
  • 打赏
  • 举报
回复
没看明白。。。。
cjs5210 2010-12-31
  • 打赏
  • 举报
回复
线程里面尽量不要使用会改变的全局变量,举个例:设定变量g_sName: string;B线程正在修改的过程中,时间片跳到A线程,A访问g_sName的时候,试问会发生什么?因此如果一定要用,在访问时需要加上互斥
一剑飘雪 2010-12-30
  • 打赏
  • 举报
回复
顶起来
看有人是否知道
一剑飘雪 2010-12-28
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 caibirdy 的回复:]

线程加互斥。。
怀疑你线程里引用全局变量了,另外使用WINAPI来读写文件会好一些。
[/Quote]
线程里面肯定要用到全局变量了。怎么又问题?
读写文件也有用到全局变量了。(判断这个变量是否为真,如果为false,则不读写文件)
一剑飘雪 2010-12-27
  • 打赏
  • 举报
回复
没人遇到这个问题吗?
CaiBirdy 2010-12-27
  • 打赏
  • 举报
回复
线程加互斥。。
怀疑你线程里引用全局变量了,另外使用WINAPI来读写文件会好一些。
hongqi162 2010-12-24
  • 打赏
  • 举报
回复
是否存在并发操作?是否存在多线程操作文件?
zfzxw123 2010-12-24
  • 打赏
  • 举报
回复
我也遇到过这样的问题,一般加上异常处理就可以解决,
不过。会丢失一些信息。
一剑飘雪 2010-12-24
  • 打赏
  • 举报
回复
大家看不到图?
错误时这个
Exception EInOutError in module L_appClient.exe at 0040D106.I/O error 32
备注:L-AppClient.exe 是我们程序的进程名字。
to kye_jufei:檢查create或free部分。。。这个程序上百个页面。有好多create、free部分。从何查?
关键难点是不知道哪里出错了?
kye_jufei 2010-12-24
  • 打赏
  • 举报
回复
讀寫error,檢查create或free部分。。。
7年 2010-12-24
  • 打赏
  • 举报
回复
文件读写错误:1没创建,2没释放
一剑飘雪 2010-12-24
  • 打赏
  • 举报
回复
关键是用户没有打开ini文件。所以我就怕不是这个读写文件错误
而且这个错误只是偶然出现的。不好查
一剑飘雪 2010-12-24
  • 打赏
  • 举报
回复
我读写文件 也是按照步骤来的啊。
AssignFile
try
append
writeln
finally
CloseFile
end
一剑飘雪 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hongqi162 的回复:]

是否存在并发操作?是否存在多线程操作文件?
[/Quote]
线程里面有 操作文件 但都是一个一个来写文件的啊
一剑飘雪 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zfzxw123 的回复:]

我也遇到过这样的问题,一般加上异常处理就可以解决,
不过。会丢失一些信息。
[/Quote]
你是指 在写入文件里加入 异常处理?
keeley20 2010-12-23
  • 打赏
  • 举报
回复
看不到图。
文件读写错误,可能是前面使用没被释放引起的。
一剑飘雪 2010-12-23
  • 打赏
  • 举报
回复
to 风之谷 应该不是病毒
一剑飘雪 2010-12-23
  • 打赏
  • 举报
回复
关键这个问题 不知道在哪一步出现的。
这个图是测试人员 点点点 就是走正常顺序的
但是呢这个问题也不一定出现,偶尔性的。
所以没办法查错误。
lqfcu2 2010-12-23
  • 打赏
  • 举报
回复
写日志啊。。。。看是在那步出错的
风之谷 2010-12-23
  • 打赏
  • 举报
回复
有可能是病毒
加载更多回复(1)
我认为,在学习中有一件非常重要的事情,那就是梳理知识体系,所以在进入操作系统课程的学习之前,我想先给你一份这门课程的知识体系(也是一份学习路径),然后再介绍一套我自己梳理知识体系的方法,帮助你更轻松地学好这门课。课程内容&知识体系我们先来看下这门课程的知识体系结构,分为 8 个模块,45个课时,具体如下。模块一:(前置知识)计算机组成原理。 如果你对计算机的组成原理中涉及的比如内存、寄存器工作原理、CPU 指令、总线都是怎么工作的这些基本问题,没有搞清楚,大概率会影响你后续对操作系统的学习。因此,在课程开始前,我先来给你一份操作系统的前置知识,帮助你更好地理解后续内容。模块二:(初探)Linux 指令入门。 这个模块将介绍一些实用的知识,带你入门 Bash 编程,并通过日志分析、性能监控、集群管理等实战场景深入学习 Linux 指令。这些对于日常开发和运维人员来说,都会非常有帮助。模块三:(总纲)操作系统概述。 这部分帮助你了解操作系统的整体设计,介绍内核、用户空间等基本概念,还会介绍操作系统的分类,以及对比一下市面上的操作系统(如 Windows、Linux、Unix、Android 等),让你对整个操作系统生态能有一个整体的认识。总的来说,模块四 ~ 模块七是我们这门课程的核心内容,也是面试的重点考区。设置这块内容的目的是借助操作系统的知识,帮你思考如何解决实战问题,比如我们反复提及的高并发、数据一致性、大数据存储和网络问题等。模块四:(面试重点)进程和线程。 我会针对大家在面试和工作中最常见的并发和数据同步问题,从进程原理、多线程编程、互斥和乐观锁、死锁和饥饿、调度算法、进程通信等多个方面,同时结合一些语言特性(比如 Java 的语言特性)讲解原理、思考方案及对策。模块五:(面试重点)内存管理。 这部分我们是从页表和 MMU、虚拟化、内存的分配和回收、缓存置换、逃逸分析、三色算法、生代算法等方面入手,帮助你了解内存的工作原理,应对高并发带来的内存使用问题。模块六:(面试重点)文件系统。 这部分内容我们将从两个方面入手,一方面是通过学习 Linux 的文件目录结构,了解 Linux 下不同的文件目录的功能和作用,帮助你把 Linux 用好;另一个方面,从文件系统的底层设计入手,帮助你了解文件系统的设计思路和原理,并且通过讲解数据库的文件系统,比如 MySQL 的 InnoDb、B+Tree 以及 Hadoop 的 HDFS,帮你把文件系统的知识应用到处理海量数据的领域。模块七:(面试重点)网络与安全。 这部分讲解面试中常见的互联网协议群、TCP 和 UDP 协议、Linux 的 I/O 模型、公私钥加密体系,以及一些最基本的计算机网络安全知识,帮助你理解操作系统和网络之间的交互,从而更好地利用操作系统知识设计业务系统的网络架构。模块八:(知识拓展)虚拟化和其他。 最后这部分,我们将从操作系统的角度学习容器化应用(比如 Kubernetes 和 Docker),还会深入讨论 Linux 架构及商业操作系统。这些知识一方面能够帮你和面试官产生更多的共鸣,另一方面还能帮你开拓视野、打开思路,看到未来的发展趋势。寄语最后,希望今天的课程和学习方法可以帮助到你;也希望你平时遇到未知的问题,尝试使用我今天介绍的方法,学会构建自己的知识体系,提高自己的学商。你可以在留言区给自己立下 Flag,比如给自己定一个具体的目标,或者是打卡你的学习天数,总之希望你不要一看而过,留下你的思考。经过长期的积累,相信你会得到意想不到的收获。

5,385

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧