我是否需要在每个使用“.so”的程序文件上使用valgrind ..或者我们可以直接在“.so”库上运行valgrind。请提供以后的步骤。
答案 0 :(得分:5)
Valgrind监视正在执行的代码。除非某些程序使用共享库,否则永远不会执行它。如果某些代码从未执行过,那么valgrind将永远不会注意到它。
答案 1 :(得分:5)
不直接。库没有开始执行它的入口点, valgrind 只检查实际执行的代码。
但是,如果您想使用 valgrind 测试库,有一种简单的方法。只需编写一个测试程序,该程序使用该库来测试您要测试的库的部件和功能。然后 valgrind 那个。
最好编写几个小的测试程序来测试不同的功能和使用模式,而不是一个大的测试程序试图在一次执行中测试所有内容(更容易隔离任何问题 valgrind 找到,跑得快“。