我正在运行一个在启动脚本中启动的vxWorks C应用程序。一切运行正常,只是在脚本在启动时启动我的软件后,每当我远程连接到嵌入式telnet服务器时,我都看不到我的软件的printf调试痕迹。
当我在提示符下手动运行软件时,我可以看到我的telnet会话上的调试跟踪。
我认为这与SHELL_MAX_SESSIONS内核选项设置为-1(无限制)的事实有关,所以我猜默认为串行线的初始会话不会显示新的调试跟踪telnet会话。我试图将SHELL_MAX_SESSIONS选项设置为1,但是我丢失了telnet会话。 2个会话给了我同样的问题。
我想知道是否有办法在每次公开会话中集中或重定向所有stdio输出?
我正在运行vxWorks 6.9。
感谢您的帮助
答案 0 :(得分:1)
我与VxWorks 6.7有类似的问题(从我的同事我知道6.9的行为方式相同)。
我的解决方案(虽然不太好)是在我的程序中创建一个函数,它将所有任务的stdout和stderr重定向到当前(调用)任务的stdout和stderr(例如当前的telnet会话)。 / p>
答案 1 :(得分:0)
如果要将所有任务的输出重定向到当前登录Shell,请参见https://stackoverflow.com/a/52749183/10481046