vscode终端信息输出到文件

vscode终端在远程linux调试C代码的时候使用时, 所有的调试信息都在终端输出,但是当日志比较多或者需要详细查看的时候,还是需要再文本编辑器中查看,目前需要查看只有一个方法:
打开vscode在终端的右键菜单,全选并复制,然后再文本编辑器中粘贴.
在实际使用过程中,问题很多:
1,当打印很多的时候,右键全选后复制很慢,不知是bug还是什么原因,可能导致vscode直接卡死.
2,稍微老点的vscode版本,可能有内存泄漏,,出现过日志太多,导致vscode内存占用超过5G的情况,直接把系统跑死.
其实最实用的方式是类似常见的ssh终端,将终端的输出在后台文本里面另存一份.但是找遍vscode终端设置都没有这个功能.
尝试过几种方式,包括用tee输出到文本,gdb直接输出日志等等,都不行, 找了一个最土的方法,勉强可用:
1,C的调试配置文件launch.json
args里面增加
"args": "&>>/home/test/2303.log"
{
"version": "0.2.0",
"configurations": [

    {
        "name": "spdk",
        "type": "cppdbg",
        "request": "launch",
        "program": "/home/test/build/bin/test",
        "args": ["-m", "0xFFFE", "--wait-for-rpc","-r", "1.1.1.4:5000", "&>>/home/test/2303.log" ],
        "stopAtEntry": false,
        "cwd": "/home/test/build/bin",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
    
        "setupCommands": [
            {
                "description": "enable-pretty-printing",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ],
       
        "preLaunchTask": "echo",
        "miDebuggerPath": "/usr/bin/gdb",
        "miDebuggerArgs": "-ex",

        
    },
]

}

此时在终端的输出会输出到/home/test/2303.log文件,然后再vscode终端打开一个新窗口:
执行
tail -f /home/test/2303.log

这样当执行程序后,切换到这个窗口,就可以看到输出,同时在/home/test/2303.log文件中一直有备份.

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×