Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 为什么我必须使用libtool –mode ==执行gdb wireshark才能调试wireshark大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试查看Wireshark的源代码以了解协议分析, 但我发现当我只使用gdb ./wireshark时,当我按Ctrl C并设置断点,然后键入C时,进程就会死掉.我想知道libtool可以使GDB调试成为可能. 我已经读过libtool了,它说libtool是一个工具,可以通过简单的界面轻松使用各种.a或.o,但我不知道用libtool使gdb wireshark成为可能的关键是什么. 当您
我正在尝试查看Wireshark的源代码以了解协议分析,
但我发现当我只使用gdb ./wireshark时,当我按Ctrl C并设置断点,然后键入C时,进程就会死掉.我想知道libtool可以使GDB调试成为可能.

我已经读过libtool了,它说libtool是一个工具,可以通过简单的界面轻松使用各种.a或.o,但我不知道用libtool使gdb wireshark成为可能的关键是什么.

解决方法

@H_944_26@ 当您使用libtool构建程序时,它将处理在您的平台中使用共享库的所有困难和特殊性.

其中一个难点是调试,因为在调试时你想加载系统中没有安装的共享库(它们只是编译好的).因此,当libtool构建一个可执行文件时,它会将其移动到一个隐藏目录(.libs)中,并且通常会在您可以看到的位置放置一个有相名称的脚本或类似文件.这个脚本将使用正确的库运行正确的程序.

但是,显然你无法使用gdb调试脚本!因此,为了将正确的参数传递给gdb以便能够使用正确的库调试正确的程序,您必须运行以下命令:

$libtool --mode=execute gdb ./wireshark

您可以通过运行来查看它的功能

$libtool --mode=execute echo ./wireshark

只是不要直接使用.libs中的文件:始终使用libtool或包装器脚本.

大佬总结

以上是大佬教程为你收集整理的linux – 为什么我必须使用libtool –mode ==执行gdb wireshark才能调试wireshark全部内容,希望文章能够帮你解决linux – 为什么我必须使用libtool –mode ==执行gdb wireshark才能调试wireshark所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。