Thread 中讨论的其他器件:SYSBIOS
我们的设备上运行了一个 telnet 服务器、但我遇到了一个问题、即在某些连接和断开连接后堆已满。
我们将使用此配置。
生成此代码。
我遇到的问题是、对于每个连接、我使内存分配给堆、但关闭时不会返回所有内容。
我是否需要手动释放内存?
我的 telnet_open 函数现在在调试后看起来是这样的、它仍然会泄露内存。
断开连接后未释放的数据约为8KB。 我错过了什么?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们的设备上运行了一个 telnet 服务器、但我遇到了一个问题、即在某些连接和断开连接后堆已满。
我们将使用此配置。
生成此代码。
我遇到的问题是、对于每个连接、我使内存分配给堆、但关闭时不会返回所有内容。
我是否需要手动释放内存?
我的 telnet_open 函数现在在调试后看起来是这样的、它仍然会泄露内存。
断开连接后未释放的数据约为8KB。 我错过了什么?
您好、Vineyet、
我已经看了一下、它可能连接到 linger 选项、但我不知道如何在配置中设置该选项。 你有示例吗?
我可以看到,即使在 fdCloseSession、fdClose、TaskExit()之后,任务也不会关闭。
因此、我知道我现在出现泄漏的原因。 现在我只需要关闭这些任务(子任务和 telnetTask)。
几次连接/断开后、我有几个子任务、每个任务占用8KB 内存。
经过一些进一步的调查,我发现使用 telnet 没有任何关系。 问题是、模式 ti_sysbios_KNL_Task_Mode_terminated 中的任务未从内存中释放。 我尝试了一些虚拟任务、他们在完成后表现得相同。 我将研究如何关闭这些计算机,但我希望尽快向您提供所有信息,以便您不调试 telnet。 如果您有任何建议、请释放这些任务分配的内存、这将是非常感激的。
此致
Marco