供您参考(因为我在下面提到了库函数),libwebsockets 文档可以在这里找到:https ://github.com/warmcat/libwebsockets/blob/master/libwebsockets-api-doc.html#L466
站点可以在这里找到:http: //libwebsockets.org/trac/libwebsockets
我的问题是,如果我为 libwebsocket_client_connect() 函数的 ssl_connection 参数传入 1 或 2,则会出现段错误。
我的代码是用 C++ 编写的。
想知道它发生在哪里,我在 gdb 中运行了我的代码(在添加了 -g 标志之后)。在段错误之后,我运行回溯。这就是我得到的:
来自 /lib/x86_64-linux-gnu/libssl.so.1.0.0 (gdb) 回溯的 SSL_ctrl () 中的 0x00007ffff7748c43
0 0x00007ffff7748c43 in SSL_ctrl () from /lib/x86_64-linux-gnu/libssl.so.1.0.0
1 0x00007ffff7503aa2 在来自 /usr/local/lib/libwebsockets.so.5.0.0 的 lws_client_socket_service ()
2 0x00007ffff74fe606 in libwebsocket_service_fd () from /usr/local/lib/libwebsockets.so.5.0.0
3 0x00007ffff7504029 在来自 /usr/local/lib/libwebsockets.so.5.0.0 的 libwebsocket_client_connect_2 ()
4 0x00007ffff75037d5 在来自 /usr/local/lib/libwebsockets.so.5.0.0 的 lws_client_socket_service ()
5 0x00007ffff74fe606 in libwebsocket_service_fd () from /usr/local/lib/libwebsockets.so.5.0.0
6 0x00007ffff7505980 在来自 /usr/local/lib/libwebsockets.so.5.0.0 的 lws_plat_service ()
还有更多,但相关信息在上面......
如上所示,segfault 发生在 SSL_ctrl() 函数中。
如果有人从 libwebsockets SSL_ctrl() 函数中得到了段错误并解决了它,请告诉我。
如果有人能告诉我如何使用调试标志构建 libwebsockets(使用 make、cmake 或其他方式)和/或使其详细地写入某些日志文件和/或使其能够使用 gdb 进入函数,我将不胜感激!