本文介绍了一种利用 GCC 运行时插桩来记录 C++ 析构函数的方法,以便于在大型多线程代码库中处理关机问题。文章指出,在应用程序无法正常关闭,出现段错误或无异常终止的情况下,传统的内存泄漏检测工具 Valgrind 无法使用。作者通过记录所有析构函数并在代码停止后触发 SIGTRAP 以使用 GDB 进行调试,最终解决了问题。