Shell vxWorks 6.9 下的会话和调试 printf
Shell sessions and debug printf under vxWorks 6.9
我正在 运行ning 一个在启动脚本中启动的 vxWorks C 应用程序。一切 运行 都很好,除了在启动时脚本启动我的软件后,每当我远程连接到嵌入式 telnet 服务器时,我都看不到我的软件的 printf 调试跟踪。
当我在提示符下手动 运行 软件时,我可以在我的 telnet 会话中看到调试跟踪。
我认为这与SHELL_MAX_SESSIONS内核选项设置为-1(无限制)有关,所以我猜测默认为串行线的初始会话不显示新 telnet 会话上的调试跟踪。我试图将 SHELL_MAX_SESSIONS 选项设置为 1,但我丢失了 telnet 会话。 2 个会话给了我同样的问题。
我想知道是否有办法在每个打开的会话上集中或重定向所有 stdio 输出?
我运行正在安装 vxWorks 6.9。
感谢您的帮助
我在 VxWorks 6.7 上遇到过类似的问题(从我的同事那里我知道 6.9 的行为方式相同)。
我的解决方案(虽然不太好)是在我的程序中创建一个函数,它将所有任务的标准输出和标准错误重定向到当前(调用)任务(例如当前的 telnet 会话)的标准输出和标准错误.
查看函数ioTaskStdGet
and ioTaskStdSet
of the ioLib。
如果您想将所有任务的输出重定向到当前登录 shell,请参阅
我正在 运行ning 一个在启动脚本中启动的 vxWorks C 应用程序。一切 运行 都很好,除了在启动时脚本启动我的软件后,每当我远程连接到嵌入式 telnet 服务器时,我都看不到我的软件的 printf 调试跟踪。
当我在提示符下手动 运行 软件时,我可以在我的 telnet 会话中看到调试跟踪。
我认为这与SHELL_MAX_SESSIONS内核选项设置为-1(无限制)有关,所以我猜测默认为串行线的初始会话不显示新 telnet 会话上的调试跟踪。我试图将 SHELL_MAX_SESSIONS 选项设置为 1,但我丢失了 telnet 会话。 2 个会话给了我同样的问题。
我想知道是否有办法在每个打开的会话上集中或重定向所有 stdio 输出?
我运行正在安装 vxWorks 6.9。
感谢您的帮助
我在 VxWorks 6.7 上遇到过类似的问题(从我的同事那里我知道 6.9 的行为方式相同)。
我的解决方案(虽然不太好)是在我的程序中创建一个函数,它将所有任务的标准输出和标准错误重定向到当前(调用)任务(例如当前的 telnet 会话)的标准输出和标准错误.
查看函数ioTaskStdGet
and ioTaskStdSet
of the ioLib。
如果您想将所有任务的输出重定向到当前登录 shell,请参阅