# stacktrace **Repository Path**: self-brpc/stacktrace ## Basic Information - **Project Name**: stacktrace - **Description**: 堆栈追踪器 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-28 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

一个堆栈追踪器的实现

主要用途是为C++调试工具、符号解析工具或任何需要将C++符号名称转换为可读形式的工具提供支持 ### 反混淆的实现原理 反混淆器需要根据这些映射关系,将修饰后的符号名称逐步转换为可读形式,这里的符号名称修饰的规则是依据Itanium C++ ABI的文档。 例如,_Z1fv可以解析为void f() 在代码中我们会定义符号名称的缩写和完整名称的映射关系,为反混淆提供基础支持。 ### 注意 这代码目前只支持部分C++11(C++0x)的符号名称解析规则,还需要进一步扩展以支持完整的C++11或更高版本的特性 C++0x:C++0x是C++11的早期名称,表示C++标准的下一个版本。C++11引入了许多新特性,如自动类型推导(auto)、移动语义(std::move)、Lambda表达式等 C++11及更高版本引入了许多复杂的新特性,如模板别名、用户定义的字面量等,这些特性使得符号名称的修饰规则更加复杂,需要更完善的解析逻辑