一个简单的线程怪问题,是马上结帐的哦(50分)

  • 主题发起人 主题发起人 yercomputer
  • 开始时间 开始时间
Y

yercomputer

Unregistered / Unconfirmed
GUEST, unregistred user!
我用线程写了一个接受通信数据的程序,但是在我用断点测试单步跟踪的时候出现一个怪问题:在没有循环的代码中,向下一步一步执行代码,突然返回前几行,又向下执行,中间没有循环语句,怎么出现这种怪问题,请高手给出思路,有没有高手也碰到类似的问题,先谢了。
 
把没用的DCU什么的都删掉,重新 BuildAll 一下
 
你是不是创建了多个线程,如果是多个线程并行运行,当然会出现这种现象。
 
把代码贴出来看看。
 
我也遇见过,可能是delphi本身的问题
 
to shandongxintaixinwen, 是多个线程,怎么解决呢?
 
你的线程是不是一直在监视串口?
 
不是串口 是CAN卡
 
只开一个线程先调试
如果没有问题了再开多线程
 
你把代码是不是从 qq聊天记录 复制过来的,如果是就吧那几句删除从新写一下就好了!!
 
出来了是因为我创建时候用的false,用true 就可以了,然后再加一个唤醒语句
 
如果你跟踪的是线程代码,同时这个线程类型的数量有2个以上,那就对了,因为调试器在线程切换后认为当前线程是仍需要调试的。道理就是两个线程的执行代码地址是一样的,但由于不同的线程实例执行到代码的位置不同,所以当线程切换后就出现了你说的那个问题,而且当你执行几步以后会发现又回到刚才的位置执行了,因为又切换回了刚才那个线程。
 
多人接受答案了。
 
后退
顶部