如何设置这样的条件断点

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函数调试,该如何设置这个条件断点呢?
...全文
40 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ethan_yushui213 2008-04-08
  • 打赏
  • 举报
回复
为什么一定要设置断点哪?
调试可以有很多种方式的,比如输出

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧