C++二进制文件在使用valgrind运行时执行良好,但在单独运行此二进制文件时失败
C++ binary is perfectly executing while running with valgrind but failing when run this binary alone
当我用以下命令运行这个二进制文件时,我有一个C++可执行文件
valgrind -v --leak-check=full --show-reachable=yes --track-origins=yes mybinary -mode init > 5.log 2>&1
它将以0退出,并生成所有输出文件。
但是当我运行这个二进制像
mybinary -mode init > 5.log 2>&1
在许多地方(一个接一个的地方)都是堆芯倾倒。
为什么当我和valgrind一起跑步时,野兽的行为发生了变化?valgrind是否设置了任何内部环境变量?
正如Valgrind手册所说,
Valgrind将执行串行化,以便一次只运行一个(内核)线程。[…]当你的程序在Valgrind上运行时,它将看到与正常运行时截然不同的调度。这既是因为Valgrind正在串行化线程,也是因为代码运行速度比正常情况慢得多。
此外,您正在运行默认的Valgrind工具memcheck。您可以尝试使用任何一种以线程为中心的工具,如helgrind或DRD,以获得有关并发问题的特定信息。
相关文章:
- 正在读取二进制文件(is_open)
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何从二进制文件中读取字符串
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- Android 在编译二进制文件时重建静态库
- 在 C++ 中将双精度变量写入二进制文件
- clang 的 libFuzzer 可以在同一二进制文件中测试超过 1 个 API 吗?
- C++:实际上不是从二进制文件中读取
- 如何从二进制文件中的给定符号中获取调用程序图
- 将内部带有矢量的结构保存/读取到二进制文件中
- 编译多个C++文件.调用二进制文件以运行代码
- 如何使用位字段将数据从二进制文件复制到结构中?
- uint8_t同一二进制文件的不同十进制值
- C++单个生成文件多个二进制文件
- 如何在C 中的Little Endian中读取来自二进制文件的单独的十六进制字符
- 如何从安卓原生二进制文件运行单独的进程
- 隔离易崩溃(SEGV),但将关键的遗留代码加速到一个单独的二进制文件中
- C++二进制文件在使用valgrind运行时执行良好,但在单独运行此二进制文件时失败
- (c++)将任意文件读取为二进制文件,并将数据作为单独的文本文件输出