如何使用调试构建 libwebsockets(即 -g 以便我可以使用 gdb)?(我在libwebsockets函数上遇到段错误,ssl_ctrl() )
How can I build libwebsockets with debug (i.e. -g so I can use gdb)? (I'm getting segfault on libwebsockets function, ssl_ctrl() )
为了您的参考(因为我在下面提到了库函数),可以在这里找到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,我会得到一个segfault
我的代码是用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 0x00007ffff7503a2
2来自/usr/local/lib/libwebsockets.so.5.0.0 的libwebsocket_service_fd()中的0x00007ffff74fe606
3来自/usr/local/lib/libwebsockets.so.5.0.0 的libwebsocket_client_connect_2()中的0x00007ffff7504029
来自/usr/local/lib/libwebsockets.so.5.0.0 的lws_client_socket_service()中的4 0x00007ffff75037d5
5来自/usr/local/lib/libwebsockets.so.5.0.0 的libwebsocket_service_fd()中的0x00007ffff74fe606
来自/usr/local/lib/libwebsockets.so.5.0.0 的lws_plat_service()中的6 0x00007ffff7505980
还有更多,但相关信息在上面。。。
如上所述,segfault发生在SSL_ctrl()函数中。
如果有人从libwebsockets SSL_ctrl()函数中得到了一个segfault并解决了它,请告诉我。
如果有人能告诉我如何使用调试标志构建libwebsocket(使用make、cmake或其他方法)和/或使其能够口头写入某些日志文件和/或让它能够使用gdb进入函数,我将不胜感激
要使用DEBUG选项构建libwebsocket,请使用带有Cmake的-DCMAKE_build_TYPE=DEBUG参数。
请确保删除所有早期版本的libwebsockets.h(使用-DCMAKE_BILD_TYPE=DEBUG选项生成),并在启用-DCMAKE_IBUILD_TYPE=DEBUG参数的情况下进行干净的生成。
在此之后,使用设置为日志级别的-d选项在执行时启用调试
如果我的可执行文件是sock,那么要在运行时启用调试日志,请使用./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
- 编译包含字符串的代码时遇到问题
- 遇到新行时,有没有办法停止istream_iterator
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 如何在C++向量中奇数元素前面加上值-1,我在使用insert函数时遇到了问题
- 在 for 循环中查找问题时遇到困难
- 创建结构的数组时遇到分段错误
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- 为什么我遇到分段错误?
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 这些是什么样的错误?即使我不在 Linux 上工作,我也遇到了 Linux 错误
- 为什么我在尝试模板时遇到视觉工作室C++错误
- 如何从文本文件中读取数值,直到遇到字符类型?
- 从其他类访问类时遇到问题
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- 打印问题.我在数组中打印值时遇到一些问题
- 使用静态成员声明类时遇到问题
- 创建 Spdlog 异步文件记录器时遇到困难
- C++ 填充数组时遇到问题
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 如何使用调试构建 libwebsockets(即 -g 以便我可以使用 gdb)?(我在libwebsockets函数上遇到段错误,ssl_ctrl() )