xur*_*r17 3 c++ debugging valgrind
我正在尝试使用 Valgrind 调试我的代码中的免费错误后的使用。
我的代码在尝试访问以前删除的对象时崩溃。在这种情况下,有没有办法使用 Valgrind 查看谁删除了对象?
我使用以下选项运行 Valgrind,但它只捕获崩溃,并显示它发生的位置。我希望获得有关对象被释放位置的详细信息:
valgrind --tool=memcheck
这是我在这些情况下使用的:
valgrind --track-origins=yes
Run Code Online (Sandbox Code Playgroud)
在释放后使用的情况下,它将向您显示释放内存/删除对象的函数的堆栈跟踪。
请阅读 Valgrind 的联机帮助页了解注意事项,特别是有关性能的注意事项。如果您的问题是并发问题,则较慢的 Valgrind 可能会更改程序的计时属性,并可能会更改(减少或增加)遇到错误的可能性。
valgrind --track-origins=yes
Run Code Online (Sandbox Code Playgroud)