2016-05-05 1 views
2

This質問は私の中で最も似ていますが、それはかなり古くなっています。紛失したブロックのメモリアドレスをvalgrindで報告できます(再帰関数呼び出しのデバッグ用)?

私のためのvalgrindの出力は、次のとおりです。

==29443== 109 (16 direct, 93 indirect) bytes in 2 blocks are definitely lost in loss record 270 of 309 
==29443== at 0x4C2B0E0: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) 
==29443== by 0x4F4E8DB: grl::Configuration::Configuration(grl::Configuration const&) (configuration.h:192) 
==29443== by 0x4F49973: grl::YAMLConfigurator::load(YAML::Node const&, grl::Configuration*, std::string const&) (configurable.cpp:74) 
==29443== by 0x4F499FC: grl::YAMLConfigurator::load(YAML::Node const&, grl::Configuration*, std::string const&) (configurable.cpp:75) 
==29443== by 0x4F499FC: grl::YAMLConfigurator::load(YAML::Node const&, grl::Configuration*, std::string const&) (configurable.cpp:75) 
==29443== by 0x4F499FC: grl::YAMLConfigurator::load(YAML::Node const&, grl::Configuration*, std::string const&) (configurable.cpp:75) 
==29443== by 0x40C78E: grl::YAMLConfigurator::load(std::string, grl::Configuration*, std::string const&) (configurable.h:321) 
==29443== by 0x40B897: main (deployer.cpp:180) 

プログラムはYAMLファイルからの読み取りとペア(name, allocated address)としてマップ内のすべての必要なパラメータを格納する再帰呼び出しで開始時に設定されています。私はこれらのペアを印刷することができます。したがって、valgrindが私に失われた値のアドレスを教えてくれたら、パラメータの名前を取得して、なぜそれが解放されていないかを調べることができます。

機能が使用できない場合、他に何が使えますか?

答えて

関連する問題