我在我的程序中得到了这个,C ++
编程接收信号SIGSEGV,Segmentation Fault。 来自/lib/libc.so.6的 _ _strtol_l_internal()中的0xb7d62153
我通过使用GDB得到了它。 CC与G ++一起编译好了
sockf = openSocket(domainname, portc);
if(sockf > 0){
log("ZONTRECK","COMPLETED SOCKET!");
int newsockfd;
newsockfd = openListen(sockf,portc);
log("ZONTRECK","Starting console!");
答案 0 :(得分:2)
它是libc中的一个内部函数,与strtol()
相关 - 如果我不得不冒险猜测,我会说你试图读取一个数字,而且有些事情正在爆发。
答案 1 :(得分:2)
使用gdb中的backtrace
命令查看程序如何从代码到达该点 - 这将有助于找到导致问题的传递参数(可能是NULL或其他无效指针)。 / p>
答案 2 :(得分:0)
也许你正在尝试读取在此之前运行的某些代码损坏的内存。如果是这种情况,最好的方法是通过Valgrind进行调试。
答案 3 :(得分:0)
我必须编辑一个我没有在这个网站上发布的文件。它是我的文件,包含openSocket,openListen。
atoi函数需要const char,而不是char。
我将char传递给它而不是const char。
我通过将int main()中的char更改为const char来解决此问题。