Ubuntu下用VTune分析时如何让程序在独立终端运行并交互
VTune在Ubuntu下无法与带交互程序联动的问题及解决方法
问题代码
#include <stdio.h> int main() { for (size_t i = 0; i < 100000; i++) { printf("%zu ", i); if(i == 10) getchar(); } }
问题现象
- Windows系统中,通过Visual Studio集成VTune启动分析时,会自动打开控制台窗口,可正常查看
printf输出,并响应getchar()的输入请求。 - Ubuntu系统中,通过脚本启动VTune后点击分析按钮,程序无交互界面:
printf输出无法查看,也无法响应getchar()输入。
Intel官方已确认这是VTune的已知bug,以下是官方提供的两种解决方法:
解决方法
方法1:从终端启动VTune Profiler
直接在Ubuntu终端中执行VTune的启动命令(例如vtune-gui),之后在VTune内启动性能分析时,目标程序会自动在新的终端窗口中运行,即可正常查看输出并进行交互。
方法2:配置VTune分析目标参数
- 打开VTune的「分析目标」配置界面
- 切换到「高级」选项卡,找到「运行环境」区域
- 添加环境变量:
TERM=xterm(或你日常使用的终端,如gnome-terminal) - 在「启动选项」中指定终端启动命令,例如针对gnome-terminal可设置为:
gnome-terminal --wait -e - 保存配置后启动分析,程序会在指定终端窗口中运行,支持输出查看与交互操作
内容的提问来源于stack exchange,提问作者Tryer
相关产品推荐
相关产品推荐

