读书人

一个进程有多个线程。如何在其中的一个

发布时间: 2012-01-11 22:28:46 作者: rapoo

一个进程有多个线程。怎么在其中的一个线程里面得到其它线程的context信息
...
CONTEXTcontext;
HANDLE hThread = null;
hThread = OpenThread(THREAD_GET_CONTEXT|THREAD_QUERY_INFORMATION|THREAD_SUSPEND_RESUME,FALSE,th32.th32ThreadID);
if(hThread)
{
SuspendThread(hThread);
context.ContextFlags = CONTEXT_CONTROL;
GetThreadContext(hThread,&context);
...

里面得到的EIP都是一个固定的地址而不是那个线程的真是EIP,不知道为什么


[解决办法]
...址而不是那个线程的真是EIP...
what do you mean?
[解决办法]
你不会是想得到eip吧,应该是ebp
[解决办法]
You cannot get a valid context for a running thread. Use the SuspendThread function to suspend the thread before calling GetThreadContext.
[解决办法]
try to remove
context.ContextFlags = CONTEXT_CONTROL;

读书人网 >VC/MFC

热点推荐