• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

如何设置这样的条件断点

clever101 2008-04-08 10:49:18
我现在编一个多线程的程序。程序实现这样的功能:程序启动时首先连接任务管理分系统,在连接服务器之后创建一个接收线程,实时接收来自任务管理分系统传过来的socket字符串,代码如下:
CreateThread(NULL,0,RecvThread,
m_pClientSocket,0,&dwThreadId);

其中RecvThread是一个接收线程函数,其中RecvThread在接收之后同时创建线程,代码大致如下:
DWORD WINAPI RecvThread(LPVOID lpParam)
{
……
CMIClientSocket* pSocket =NULL;
pSocket = (CMIClientSocket*)lpParam;
DWORD dwThreadId=0;
socket.Attach(pSocket->m_hSocket);
//Modifications on 2004-9-6 11:29:30这样可以同时发送数据
iRet = socket.Receive(&buf,0);
if(SOCKET_ERROR != iRet)
{
//Modifications on 2004-9-6 11:31:07创建一个解释socket字符串的线程,用于//判断常规任务还是快反任务
pSocket->m_pConnectManager->ThreadProcessRead(pSocket);
}
……
// 创建一个接收线程
CreateThread(NULL,0,RecvThread,
lpParam,0,&dwThreadId);
return 0;
}

在pSocket->m_pConnectManager->ThreadProcessRead(pSocket)函数里有这样的功能:
假如收到一个快反任务后,就弹出一个快反任务对话框输入快反任务名称,代码大致如下;
CAIDlgProductName dlg;
if(dlg.DoModal() == IDOK)
{
str = dlg.m_csProductName;
}

现在的问题是还没输入快反任务名称,程序就出现非法访问内存的错误,如下图:



这个错误是在弹出快反任务对话框出现的。因为RecvThread函数是实时监控一样,我想不能在里面设置一个普通的断点进行调试。我想能不能设置这样一个条件断点:就是在弹出一个快反任务对话框时才进入RecvThread函数调试,该如何设置这个条件断点呢?
...全文
10 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Ethan_yushui213 2008-04-08
为什么一定要设置断点哪?
调试可以有很多种方式的,比如输出
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-04-08 10:49
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……