我在对指针的成员函数的调用上遇到分段错误。但是,看起来指针有效,因为在工作正常之前调用另一个成员并且调试器显示指针似乎指向某处。它还显示指针的所有成员具有有效值
m_callListener @0x1fe2b68 CallListener
m_requests 10 long
m_waiting_r 3 long
void Handler::onCall()
{
if (m_state == Waiting)
{
m_callListener->logWaiting();
}
m_callListener->onCall(); // <--SEGMENTATION FAULT HERE
}
void CallListener::logWaiting() { m_waiting_r += 1; }
我只知道分段错误错误形成取消引用空指针,从其边界访问数组或尝试写入访问const值和谷歌搜索带来了大部分与这些相关的答案。但是,如果我没有弄错,我有一个有效的指针,没有涉及数组,也没有常量值。这可能是段错的原因吗?我有什么提示可以调试这个吗?我甚至不知道在哪里开始以及在这里发布什么以使事情更清楚