Вопрос в том, как я могу продемонстрировать, что free () освобождает неправильный размер?
Кто-нибудь может подсказать, как проверить, что это происходит в моей среде, возможно, с помощью gdb или любых других инструментов?
Вы уже запустили инструмент, который сказал вам, что это то, что происходит .Зачем вам тогда запускать другой инструмент, чтобы убедиться, что «это действительно то, что происходит»?
Вы не соответствуете некоторым вызовам free
в соответствии с Valgrind.Это проблема, и это то, что вам нужно исправить.
Пока эта проблема существует, она может иметь миллионы различных последствий, одно из которых - это то, что было описано в тексте.Вы цитировали.Но вам не нужно знать , какой из этого миллиона последствий на самом деле происходит в вашей программе, потому что это всего лишь симптомы, , и вы уже знаете, в чем причина .
Единственный гарантированный эффект при несоответствии free
/ delete
заключается в том, что «что-то происходит».И что это за "что-то"?Никто не может сказать.
Если вы намеренно не пытаетесь написать плохое программное обеспечение, вам следует устранить проблему у источника, и то, что вы просите, не поможет вам в этом.