VALGRIND:如何对“.so”库使用valgrind?

6
我需要在每个使用“.so”文件创建的程序文件上使用valgrind吗?还是可以直接在“.so”库上运行valgrind。请提供后者的步骤。
2个回答

9

不是直接的。库没有入口点可以开始执行,valgrind仅检查实际执行的代码。

但是,如果你想使用valgrind测试一个库,有一种简单的方法。只需编写一个测试程序,以测试你想要测试的库的部分和功能的方式使用该库。然后对其进行valgrind测试。

可能最好编写几个小的测试程序来测试不同的功能和使用模式,而不是使用一个大程序尝试在一个执行中测试所有内容(更容易隔离出valgrind找到的任何问题,运行速度更快)。


5

Valgrind 监视被执行的代码。除非某些程序使用它们,否则共享库永远不会被执行。如果某些代码从未被执行,则 valgrind 永远不会注意到它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接