调试和运行时的现象不同

程序心声 程序心声 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家好,我有一个疑难问题,咨询一下大家。我有一个程序,判断新创建的线程,是否挂起。如果挂起的话,弹一个提示框,表示条件满足。但是我明明挂起了程序,提示框就是没弹。于是做调试,结果却很意外,只要是调试的时候,程序就和预计的一模一样,弹出了提示框。但只要是运行状态,提示框就没有,奇怪的很。这是怎么回事啊,调试和运行程序并没有变化啊,也不应该有区别啊。AfxMessageBox和MessageBox也经常用,也没有什么异常情况啊。从来没遇到过这种怪事,谁能告诉我怎么回事呢?下面是代码:

g_pThread->SuspendThread(); //挂起线程

int nPid = _getpid();
BOOL bRET = IsThreadSuspend(nPid, g_pThread->m_nThreadID); //判断线程挂起的函数,之前验证过,没有问题
if (bRET)
{
AfxMessageBox("线程被挂起了!");
MessageBox("线程被挂起了!");
}
弹不弹提示框不重要,提示框只是告诉我程序走到哪了,关键是为什么会有不同。IsThreadSuspend这个函数我是验证过的,在其他程序直接运行,是正常的。
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
程序心声
界面 15,976 成员 115,866 内容