能力值:
( LV2,RANK:10 )
|
-
-
2 楼
中断在createthread看参数
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
当单步步过createthread时,线程是否运行了呢?
|
能力值:
( LV9,RANK:690 )
|
-
-
4 楼
这个问题我也一直搞不明白:
是不是用调试器加载以后,所有的线程都挂起呢?
线程的执行顺序是否跟调试的顺序有关?
|
能力值:
( LV10,RANK:170 )
|
-
-
5 楼
最初由 cyclotron 发布 这个问题我也一直搞不明白: 是不是用调试器加载以后,所有的线程都挂起呢? 线程的执行顺序是否跟调试的顺序有关?
用调试器加载后主线程被挂起在EP处,其他所有线程都还没有启动。线程的执行顺序就很复杂了,要看线程之间是用什么方法同步,如果没有同步代码的话,拿就只能看运气了,看谁先抢到CPU时间
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
线程的调试真难理解,据说,OD是将被调试程序作为一个线程加载的,这里有几个问题:
1.正如liauh所说的,当单步步过createthread时,线程是否运行了呢?
2.如果单步过ExiThread或TerminateThread中止自己时,将跟踪到哪里?
3.单步跟踪线程时,如果实际上所有的线程都处于挂起,GetCurrentThread返回的是本线程的伪句柄还是OD本身主线程的伪句柄?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
我所调试的程序若用f8步过createthread的话,在waitforxxxxxx时就过不去。(若线程运行的话应该能过去)
若用f9过createthread的话就会断在线程入口。
|
|
|