如何调试需要在Ubuntu上使用GDB打开低端口的应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何调试需要在Ubuntu上使用GDB打开低端口的应用程序相关的知识,希望对你有一定的参考价值。

我有一个应用程序,需要打开端口80

根据this,我给出了打开低端口的二进制功能。我也给了gdb本身的能力。

当我运行二进制文件时,端口成功打开,但是当我用GDB运行它时,我遇到errno = 13错误。

重要提示:使用sudo运行应用程序正是我想要避免的

答案

我给了二进制功能来打开低端口。

在调试二进制文件(ptraced)时,内核会忽略其功能。这是一个合理的安全预防措施,因为ptraced二进制文件可以做任何事情。

我还给了gdb本身的功能。

这不会改变上面的图片。

使用sudo运行应用程序正是我想要避免的

您不必使用sudo运行应用程序,只需运行GDB。

或者,让应用程序打开端口8080,并设置port forwarding

以上是关于如何调试需要在Ubuntu上使用GDB打开低端口的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 写c/c++如何调试?

使用 GDB + Qemu 调试 Linux 内核

我想通过minicom使用gdb在arm板上调试vmlinux。我需要做什么?

Linux系统中GDB调试详细操作方法

在docker中使用gdb调试程序

ubuntu中gdb调试工具的使用