Управления памятью в C++

Так что, мне нужна помощь. Я работаю над проектом, в C . Однако, я думаю, что я каким-то образом удалось повредить моей кучи. Это зависит от того, что я добавил std::string класса и присвоения ей значения из другого std::string:

std::string hello = "Hello, world.n";
/* exampleString = "Hello, world.n" would work fine. */
exampleString = hello;

аварий на моей системе с дамп стека. Так что в принципе мне нужно, чтобы stop и пройти через все мои код управления памятью и вещи, и узнать, где я напортачил. Codebase-прежнему невелик (около 1000 строк), так что это легко выполнимо.

но я все-таки над моей головой с такого рода вещи, поэтому я думал, я хотел бы бросить его там. Я на Linux-системе и пошарил valgrind, и, не зная, что полностью то, что я делаю, это действительно сообщалось, что std::string's деструктор был инвалидом бесплатно. Я должен признаться, получение термин " повреждение Кучи " из поиска Google; любой общего назначения статей на такого рода вещи будут оценены.

(до rm -rf ProjectDir, снова делать в C# :D)

РЕДАКТИРОВАТЬ:Мне не ясно, но то, что я прошу-это способы и советы диагностики подобные проблемы с памятью. Я знаю, что std::string вещи правильно, так это то, что я сделал (или баг, но там это Не Проблема С Select). Я уверен, что я мог Чак код, который я написал, и вы очень умные ребята, хотелось бы видеть проблему в кратчайшие сроки, но я хочу добавить этот вид анализа кода для моего 'панели инструментов', как это было.

Найдено 12 ответов:

Of Memory Management, Heap Corruption, and C++

http://stackoverflow.com/questions/7525/of-memory-management-heap-corruption-and-c

Посмотреть решение →