1
我创建了一个c程序,它崩溃(分段错误)。我想使用valgrind查找错误,但是当我运行它时:如何使valgrind完全重现错误?
valgrind -v ./executable
该程序不会崩溃。当我使用gdb运行它时,它仍然崩溃。
如何设置valgrind来重现错误,如gdb?
我创建了一个c程序,它崩溃(分段错误)。我想使用valgrind查找错误,但是当我运行它时:如何使valgrind完全重现错误?
valgrind -v ./executable
该程序不会崩溃。当我使用gdb运行它时,它仍然崩溃。
如何设置valgrind来重现错误,如gdb?
如何设置valgrind来重现错误,如gdb?
你不应该和事实上你不能。
这是因为程序在Valgrind的环境下运行时与本机运行时略有不同。这是Valgrind的工作方式,请参阅Valgrind FAQ。
你真正需要的是修复所有Valgrind错误,特别是无效的读取。
http://en.wikipedia.org/wiki/Heisenbug – ouah
@ouah,所以这是不可能的? – kaspersky
你也许可以在gdb中找到错误。 – djechlin