Tôi gặp sự cố với một mã khá phức tạp. Tôi đã không thể tạo ra một đoạn mã ngắn tái tạo lỗi, vì vậy tôi sẽ cố gắng giải thích vấn đề bằng lời nói.Điều gì có thể gây ra lỗi "danh sách liên kết kép bị lỗi"?
Mã treo một cách ngẫu nhiên với lỗi
*** glibc detected *** gravtree: corrupted double-linked list: 0x000000001aa0fc50 ***
Debugging cho thấy nó xuất phát từ đường, nơi các mã giải phóng một đối tượng. Dường như không có gì sai với đối tượng. Nó tồn tại và tôi có thể truy cập dữ liệu của nó tại thời điểm xảy ra lỗi. Destructor của đối tượng là tầm thường và không làm bất cứ điều gì.
Vì vậy, tôi bị kẹt. Trong trường hợp nào bạn mong đợi 'miễn phí' thất bại?
Có vẻ như bạn có khả năng làm hỏng bộ nhớ của mình ở một nơi khác và đây chỉ là tác dụng phụ. –