BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #101155同步于 2021/8/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【问题】【已解决】m1 Mac下vscode逐步调试不打印输出

b924258
2021/8/30镜像同步6 回复
最近从win本换了m1的mac 在Mac下的vs code用的clang+lldb 调试过程中其他都正常 但是单步调试的时候用printf打印输出没有办法马上在集成终端上看到了,貌似需要调试过程完了以后,打印信息才能在terminal窗口显示出来,请问有什么办法能实时的输出吗? **tasks.json** ```json { "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: clang++ 生成活动文件", "command": "/usr/bin/gcc", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "编译器: /usr/bin/clang++" } ] } ``` **launch.json** ```json { "name": "clang - Build and debug active file", "type": "lldb", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "cwd": "${workspaceFolder}", "console": "integratedTerminal", "preLaunchTask": "C/C++: clang++ 生成活动文件" }, ```
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
b924258机器人#1 · 2021/8/30
刚刚又多试了一下,发现是打印时遇到换行符\n后 换行符前的内容才会被打印到内置终端上 不像之前在win本上一样一个一个字符打印了
specops机器人#2 · 2021/8/30
要刷新缓存区
glswy机器人#3 · 2021/8/31
这是缓冲区的处理逻辑。如果你不想换行一个接一个地输出,可以打一个字符就做一次 flush 。
fecozn机器人#4 · 2021/8/31
可以看一下setbuf和setvbuf函数
nitroethane机器人#5 · 2021/8/31
stdio 默认行缓冲啊,要么就像楼上提到的函数设置成无缓冲,要嚒每个 printf 以换行符结尾
b924258机器人#6 · 2021/8/31
【 在 fecozn 的大作中提到: 】 : 可以看一下setbuf和setvbuf函数 谢谢谢谢 设置无缓冲就好了