请问诸位高手,invalid pointer operation 可能是什么引发的错误呢? (45分)

  • 主题发起人 主题发起人 Orber
  • 开始时间 开始时间
O

Orber

Unregistered / Unconfirmed
GUEST, unregistred user!
出现该错误的程序使用了 多线程 阻塞Socket, 请问诸位高手,那类操作才会可能造成此错误的发生呢?

异常一般都已经声明过了,但却没抓到这个
 
无效指针操作,指针出错了。
 
我并没有使用指针

这个错误应该是指的内存读写错误。 但是我不知道是什么语句才能引起的?
 
单步调试。
 
这是一个多线程的服务器程序,当数百个用户同时访问的时候,我怎么进行单步调试呢?
而且以上的问题的出现时间是没有规律的。
:“(
 
可能对象已经释放,而还用它。
 
上面这位朋友指的用 包括 删除保存这个对象的ListBox Item么?
 
程序中是否引用了自定的DLL,如果有,那就是返回值类型设置的问题。
 
最好对于多用户可能同时访问的数据进行保护
 
easykey朋友,我并没有引用自己编写的DLL。

无忌兄您所指的数据是哪类呢?

我程序中有几个数组会被每个线程同时使用,这会导致问题么?
 
这将导致数据在读写过程中不同步,用临界区保护起来比较好
 
无忌兄,我刚才所说的使用这几个数组,都是仅仅限于从这些全局数组中读取数据,不会有任何修改或者写入的操作,这样是否不会造成你说的不同步?

另外,我在线程中也定义了若干数组,并且同时有读写操作,但这些并不会有任何影响吧。
 
你读数据的时候,一个读语句用汇编一般是几个指令才能读完,但是在多线程的时候
可能才执行一个指令,系统切换到另外一个线程的读指令去了,这个时候结果你应该
知道的,
 
无忌兄,你的意思是什么呢? 抱歉,我没办法推断到你所说的结果。

如果多个线程同时读取一个全局数组会有问题?
那么每个线程中读取各自线程中建立的数组数据是否会有问题?
谢谢
 
具体出错信息原文是什么?
 
原文见标题
 
無效的mem address
or 堆站溢出......
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
962
import
I
I
回复
0
查看
987
import
I
后退
顶部