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

求助]多线程调试问题

2009-1-6 17:51
4741
我自己写的一个程序,我在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的断点不知道在哪下。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

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