How to troubleshoot crashes in malloc

后端 未结 3 682
孤街浪徒
孤街浪徒 2020-12-12 05:32

I have a large body of legacy code that I inherited. It has worked fine until now. Suddenly at a customer trial that I cannot reproduce inhouse, it crashes in malloc. I thin

3条回答
  •  遥遥无期
    2020-12-12 05:52

    I know this is old, but issues like this will continue to exist as long as we have pointers. Although valgrind is the best tool for this purpose, it has a steep learning curve and often the results are too intimidating to understand.

    Assuming you are working on some *nux, another tool I can suggest is electricfence. Quote:

    Electric Fence helps you detect two common programming bugs:

    software that overruns the boundaries of a malloc() memory allocation,
    software that touches a memory allocation that has been released by free().
    Unlike other malloc() debuggers, Electric Fence will detect read accesses
    as well as writes, and it will pinpoint the exact instruction that causes
    an error.
    

    Usage is amazingly simple. Just link your code with an additional library lefence When you run the application, a corefile will be generated when memory is corrupted, instead of when corrupted memory is used.

提交回复
热议问题