首页
社区
课程
招聘
求助]多线程调试问题
发表于: 2009-1-6 17:51 5160

求助]多线程调试问题

2009-1-6 17:51
5160
我自己写的一个程序,我在OD下没办法调试了, 我想在另一个线程处设置断点然后单步执行,该程序代码大致如下:
UINT Thread1(LPVOID lp)
{
        CTestDlg *p;
        p =(CTestDlg*)lp;
        CString str;
        p->m_edit.GetWindowText(str);
        if(str=="AAAA")p->MessageBox("恭喜");
        else p->MessageBox("滚");
        return 0;       
}
void CTestDlg::OnOK()
{
        // TODO: Add extra validation here
        CString str;
        this->m_edit.GetWindowText(str);
        if(str[0]=='A')        AfxBeginThread(Thread1,this);
        Sleep(0);
//        CDialog::OnOK();
}
可以很容易就在OnOk处断下,但是Thread1的断点不知道在哪下。。。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 377
活跃值: (432)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
运行到AfxBeginThread的地方,看看Thread1的地址,然后在Thread1的第一条语句上按F2,这样行不行?
2009-1-6 18:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
菜鸟进来听课
2009-1-6 20:04
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
CTestDlg *p
这线程写法有问题吧
2009-1-6 20:44
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这样写没问题呀。
  CTestDlg是我的窗口类。我在线程里为了方便和那个类交换数据,我直接引入指针。
我为了减少代码量那样写的。
  如果引用次数不多,可以(CTestDlg*)lp 但是每次都要转化下,太麻烦了。
找地址的办法,我马上试试
2009-1-8 00:09
0
游客
登录 | 注册 方可回帖
返回
//