【高分紧急求助】线程莫名的退出的问题 本帖最后由 xiaoxixp 于 2010-08-26 18:04:44 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. pThis->iBrowser->OpenURL();这个括号里不用写网址啥的?2. 这个函数中是否进行了异常处理。一般网络访问是很容易出现异常的。如果出现异常,而你没有捕获,自然就退出了。 试改成:try { pThis->iBrowser->OpenURL();//断点到这一句位置都正常}catch (...){}后,看看是否还退出。 如果是VC,最好是改成VC风格的异常处理:__try { pThis->iBrowser->OpenURL();//断点到这一句位置都正常}__finally{} 你好,首先谢谢你这么快回复我。因为我已经在OpenURL()这个函数的第一句设置了断点,但是程序根本就没有过去,所以应该不是这个函数的里面出了什么问题,我已经加了try finally ,但是还是一样的现象 还有就是在DEBUG的时候,那个显示线程和堆栈帧的地方会变成红色,不知道是什么意思 看样子问题不像是,OPenUrl造成的,你说的是一种假象吧。在关键点加log输出试试吧 反正就是一到那个点,一调用OpenURL()函数就自动退出了,线程退了连带主程序也退了,而在OpenURL函数里面第一行设置的断点根本没有执行到,实在是搞不懂啊,哎,没有C++的开发经验 不说了么,既然不是这块异常退出,那就打印log 试试,log与语言无关。 你说的log是指? 我只看到控制台有一些输出 可不可以把RateDownloader整个类贴出来? 线程前面加CoInitClient()AfxInitSocket()WSAInit()之类的初始化函数-----我记不住这些函数名称,所以很可能写错了,但是你要领会精神vc的线程环境很单纯,只要涉及到套接字、网络操作,不重新初始化是不行的 DWORD WINAPI RateDownloader::RateDownloadThreadProc(void* param){////加到这个地方CoInitInstance(); //?对吗?就算有人告诉你正确的函数,你也要把分加给我,如果对了的话。AfxInitSocket(); // 对吗?HRESULT hr = S_OK;RateDownloader* pThis = (RateDownloader*)param; 显示表内容 一个漂亮的工控控件(UI类控件) 获取了控件句柄,如何提取空间里的数据? 图像处理的问题 如何判断一个窗口被DoModal了(请进) 动态修改程序 *** 有个问题大家一定要帮我啊 ,谢谢了 (有关用RSA作注册码)*** 菜鸟问题:请问如何用SDK进行二次开发? 请问*.iso的文件用什么东东打开? 既然可以自己写一个托盘程序弹出气泡,那请问能不能获取气泡的内容呢 a=-2 ???? system的字符串中的字符串
2. 这个函数中是否进行了异常处理。一般网络访问是很容易出现异常的。
如果出现异常,而你没有捕获,自然就退出了。
pThis->iBrowser->OpenURL();//断点到这一句位置都正常
}
catch (...)
{}后,看看是否还退出。
__try {
pThis->iBrowser->OpenURL();//断点到这一句位置都正常
}
__finally
{}
你好,首先谢谢你这么快回复我。因为我已经在OpenURL()这个函数的第一句设置了断点,但是程序根本就没有过去,所以应该不是这个函数的里面出了什么问题,我已经加了try finally ,但是还是一样的现象
CoInitClient()
AfxInitSocket()
WSAInit()
之类的初始化函数-----我记不住这些函数名称,所以很可能写错了,但是你要领会精神
vc的线程环境很单纯,只要涉及到套接字、网络操作,不重新初始化是不行的
{////加到这个地方
CoInitInstance(); //?对吗?就算有人告诉你正确的函数,你也要把分加给我,如果对了的话。
AfxInitSocket(); // 对吗?
HRESULT hr = S_OK;
RateDownloader* pThis = (RateDownloader*)param;