用的VS2010做了一个串口程序,调试的时候选择串口什么的都没有问题,但是在显示的时候出了错误,求指教

COM.exe 中的 0x7543969b 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012e214 处的 COleDispatchException。

COM.exe 中的 0x7543969b 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。

第1个回答  2012-12-17
是不是有空指针?追问

显示错误出现在了AfxInternalPumpMessage()中的
if (!::GetMessage(&(pState->m_msgCur), NULL, NULL, NULL))

追答

跟踪下 pState->m_msgCur 有值没,是不是0x00000000 空指针

追问

是发现了空指针,pState->m_msgCur.hwnd unused 还有pState中一堆无法计算的式子,这是关乎什么的,程序段内特定的?还是我自己编程需要赋值的?囧,程序是网上找的,本身之前一点都不懂VC++

追答

空指针,一个你没有赋值的内容,你想去使用他,
但程序发现他没有任何内容,所以出错了,
pState 你在之前应该赋值,我猜不出那个是什么,你得看上下文了,抄代码要抄全,网上有些代码是给有一定经验的人看,所以会省略一些不重要的,只贴出重要的代码。
所有的变量在你使用时,一定要赋值,你在VS中也应该会得到提示,使用了没有初始化的变量

追问

这些变量都是在thrdcore.cpp中的,每个函数里定义的指针进行监视都是出现( pState CXX0017: 错误: 没有找到符号“pState”
pThread CXX0017: 错误: 没有找到符号“pThread”
)这样的错误。我也想抄全,问题是没有全的,再说这个文件应该是软件里有的,不是我自己添加的。而且没有编译错误,也没有任何提示说使用了没有初始化的变量,只是在我获取数据的时候获取一个数出一个补充问题里的错误

本回答被提问者采纳
相似回答