大佬教程收集整理的这篇文章主要介绍了c – 如何使用debug构建libwebsockets(即-g所以我可以使用gdb)? (我在libwebsockets函数上遇到段错误,ssl_ctrl()),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
网站可以在这里找到:http://libwebsockets.org/trac/libwebsockets
我的问题是,如果我为libwebsocket_client_connect()函数的ssl_connection参数传入1或2,我会得到一个段错误.
我的代码用c写的.
想要找出它发生的位置,我在gdb中运行了我的代码(在添加了-g标志之后).在segfault之后,我跑了回溯.这就是我得到的:
来自/lib/x86_64-linux-gnu/libssl.so.1.0.0的SSL_ctrl()中的0x00007ffff7748c43
(gdb)回溯
来自/lib/x86_64-linux-gnu/libssl.so.1.0.0的SSL_ctrl()中的0 0x00007ffff7748c43
来自/usr/local/lib/libwebsockets.so.5.0.0的lws_client_socket_service()中的1 0x00007ffff7503aa2
来自/usr/local/lib/libwebsockets.so.5.0.0的libwebsocket_service_fd()中的2 0x00007ffff74fe606
来自/usr/local/lib/libwebsockets.so.5.0.0的libwebsocket_client_connect_2()中的3 0x00007ffff7504029
来自/usr/local/lib/libwebsockets.so.5.0.0的lws_client_socket_service()中的4 0x00007ffff75037d5
来自/usr/local/lib/libwebsockets.so.5.0.0的libwebsocket_service_fd()中的5 0x00007ffff74fe606
来自/usr/local/lib/libwebsockets.so.5.0.0的lws_plat_service()中的6 0x00007ffff7505980
还有更多,但相关信息高于……
如上所示,segfault发生在SSL_ctrl()函数中.
如果有人从libwebsockets SSL_ctrl()函数获得了段错误并解决了它,请告诉我.
如果有人可以告诉我如何使用调试标志构建libwebsockets(使用make,cmake或其他方式)和/或使它以冗长的方式写入某个日志文件和/或使其成为可能,我可以使用gdb进入函数,我非常感谢!
请确保删除所有早期版本的libwebsockets.h(使用-DCMAKE_BUILD_TYPE = DEBUG选项构建)并使用-DCMAKE_BUILD_TYPE = DEBUG参数进行干净构建.
在此之后启用调试时执行使用-d选项设置为日志级别
如果我的可执行文件是sock,那么在运行use时启用调试日志
./sock 127.0.0.1 -p 9000 -d 65535
这将产生类似的输出
[1449754712:6654] CLIENT: lws_client_connect: direct conn [1449754712:6654] CLIENT: lws_client_connect_2 [1449754712:6654] CLIENT: lws_client_connect_2: address 127.0.0.1 Reason :35 Reason :32 Reason :36 [1449754712:6655] CLIENT: nonblocking connect retry
以上是大佬教程为你收集整理的c – 如何使用debug构建libwebsockets(即-g所以我可以使用gdb)? (我在libwebsockets函数上遇到段错误,ssl_ctrl())全部内容,希望文章能够帮你解决c – 如何使用debug构建libwebsockets(即-g所以我可以使用gdb)? (我在libwebsockets函数上遇到段错误,ssl_ctrl())所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。