C 如何调试/跟踪套接字编程

C 如何调试/跟踪套接字编程,c,linux,sockets,linux-kernel,C,Linux,Sockets,Linux Kernel,在我的项目中有很多C文件。 在这里,我必须使用套接字编程从进程向进程发送一个缓冲区。我试图使用send系统调用发送一个缓冲区,但它返回了零,尽管数据/缓冲区被传输到进程 在wireshark中,我能够看到数据包的传入和传出 实际上,send系统调用应该返回发送的字节数,但我收到的字节数为零。那么它是如何从我的进程传输到另一个进程的呢 有人能帮我解决这个问题吗?如何在发送调用到另一个进程接收调用后调试/理解linux中涉及/执行的步骤 至少向我推荐一些调试套接字编程的工具和步骤/过程 套接字编程与

在我的项目中有很多C文件。 在这里,我必须使用套接字编程从进程向进程发送一个缓冲区。我试图使用send系统调用发送一个缓冲区,但它返回了零,尽管数据/缓冲区被传输到进程

在wireshark中,我能够看到数据包的传入和传出

实际上,send系统调用应该返回发送的字节数,但我收到的字节数为零。那么它是如何从我的进程传输到另一个进程的呢

有人能帮我解决这个问题吗?如何在发送调用到另一个进程接收调用后调试/理解linux中涉及/执行的步骤


至少向我推荐一些调试套接字编程的工具和步骤/过程

套接字编程与任何其他编程没有太大区别。调试它的规则和往常一样:使用调试器并逐步完成代码。TCP/IP选择的另一个工具是wireshark,您已经知道了


但要真正获得帮助,您必须显示使用过的代码,最好是a,以便其他人可以测试它,以便更容易地识别问题。

我建议使用strace system calls tracer。它将跟踪发送系统调用以及其他系统调用。请您使用示例程序详细说明一下。如果有多个接收器,我们如何从发送进程切换到接收进程,以及如何说它是接收器。@KS1322您必须分别跟踪所有进程:发送者和每个接收器(如果它们是多个)。