.sh文件中sudo perf record -e branch-instructions -g ./db_bench 我希望在运行.sh文件输入db_bench作为参数
时间: 2024-04-15 20:27:27 浏览: 11
您可以在运行.sh文件时,将"db_bench"作为参数传递给它。可以将以下内容添加到.sh文件中:
```bash
#!/bin/bash
sudo perf record -e branch-instructions -g ./db_bench "$@"
```
这样,您可以通过在命令行中运行.sh文件并提供"db_bench"作为参数来实现您的需求。例如:
```bash
./your_script.sh db_bench
```
这将执行.sh文件,并将"db_bench"作为参数传递给它。
相关问题
sudo find / -name "libopencv_*.so.*"是在命令行中运行吗
是的,`sudo find / -name "libopencv_*.so.*"`是在命令行中运行的命令。它会在整个Linux文件系统中搜索以`libopencv_`开头的动态链接库文件,并列出它们的路径。 `sudo`表示以超级用户权限运行该命令,`/`表示从根目录开始搜索,`-name`表示按名称搜索,`"libopencv_*.so.*"`表示文件名以`libopencv_`开头并以`.so.`结尾的动态链接库文件。
sudo perf report -i perf.data -g --stdio 结果为什么显示的都是函数地址 没有函数具体名称
这是因为 perf.data 中记录的是函数地址,而不是函数名称。为了显示函数名称,你需要在 perf.data 中记录符号表信息。你可以在使用 perf 命令时添加 -g 选项来记录符号表信息。具体来说,你需要使用类似下面的命令来生成 perf.data 文件:
```
sudo perf record -g -o perf.data command
```
其中,command 是你要分析的应用程序或命令。使用 -g 选项记录符号表信息后,再使用 perf report 命令就可以看到函数名称了。如果你已经生成了 perf.data 文件,可以使用下面的命令来重新生成报告:
```
sudo perf report -i perf.data -g --stdio --symfs=$(pwd)
```
其中,--symfs 选项指定符号表路径。$(pwd) 表示使用当前工作目录作为符号表路径。