我的应用程序在似乎没有任何问题的代码行上挂起,但是我的 IDE 似乎在该行上挂起并出现错误:
gdb/mi (24/03/09 13:36)(退出。收到信号“SIGSEGV”。描述:分段错误。)
这行代码只是调用了一个没有代码的方法。当您有空引用时,不是分段错误吗?如果是这样,空方法如何具有空引用?
这段代码似乎导致了这个问题:
#include <sys/socket.h>
#define BUFFER_SIZE 256
char *buffer;
buffer = (char*)GetSomePointer()->SomeStackMemoryString.c_str();
int writeResult = write(socketFD, buffer, BUFFER_SIZE);
bzero(buffer, BUFFER_SIZE);
int readResult = read(socketFD, buffer, BUFFER_SIZE);
当使用该read(...)
方法的行被注释掉时,问题就消失了。
更新:
我已将问题更改为指向实际问题,并删除了所有不相关的代码-我还回答了我自己的问题,以便阅读本文的人具体知道问题是什么,请在说“你是一个白痴!”。