Mam std :: map < std :: string, std :: string>, które zostały zainicjalizowane za pomocą niektórych wywołań API. Kiedy próbuję użyć tej mapy, otrzymuję błąd segmentacji. Jak wykryć niepoprawny kod lub co jest nieważne lub jakikolwiek szczegół, który może mi pomóc rozwiązać problem? Kod wygląda następująco:Jak wykryć szczegóły uszkodzenia segmentacji za pomocą Valgrind?
std::map< std::string, std::string> cont;
some_func(cont); // getting parameter by reference and initialize it, someone corrupted memory (cont) inside this function
std::cout << cont[ "some_key" ] << '\n'; // segmentation fault here, cannot access "some_key"
'cont' nie jest przypadkiem globalnym, do którego uzyskujesz dostęp w niektórych konstruktorach obiektów globalnych, prawda? –
@Davit: BTW, możesz chcieć zaakceptować odpowiedź co jakiś czas. Poinformowanie wszystkich, która odpowiedź rozwiązała Twój problem, jest ważnym aspektem społeczności SO. –
ok, napiszę o poprawce –