我创建了崩溃的 ac 程序(分段错误)。我想使用 valgrind 找到错误,但是当我运行它时:
valgrind -v ./executable
程序不会崩溃。当我使用 gdb 运行它时它仍然崩溃。
如何设置 valgrind 来重现错误,例如 gdb?
如何设置 valgrind 来重现错误,例如 gdb?
你不应该,事实上你不能。
这是因为程序在 Valgrind 下运行的环境与原生运行时略有不同。这就是 Valgrind 的工作原理,请参阅Valgrind 常见问题解答。
您真正需要的是修复所有 Valgrind 错误,尤其是无效读取。