什么是strtol_l_internal?

时间:2011-08-27 18:25:30

标签: c++ gdb

我在我的程序中得到了这个,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!");

4 个答案:

答案 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来解决此问题。