在gcc或clang中调试SFINAE
Debugging SFINAE in gcc or clang
我想知道我的模板/s是如何在编译时给定一个特定的调用展开的,特别是我有兴趣了解更多关于SFINAE技术的所有可能的使用和行为。
你知道gcc
和/或clang
中的一个或多个标志可以帮助我解决这个问题吗?
"SFINAE的所有可能行为"过于模糊和宽泛。但是,如果你想了解编译器如何在你的代码中实例化模板,这可能对你有用:
** temlight *是一个基于clang的工具,用于分析模板实例化的时间和内存消耗,并执行交互式调试会话以获得对模板实例化过程的内省。
temlight似乎是编译过程的前端部分,因此以后,您可以使用名为templater的可视化工具。
警告:我自己没有试过。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 为什么使用SFINAE而不是函数重载
- 如何使用模板函数的函数签名进行SFINAE
- 数据成员SFINAE的C++17测试:gcc vs clang
- 使用在用于SFINAE的void_t中具有参数的方法
- 在linux上调试巨大的C++项目
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 如何针对特定情况调试和修复此双自由内存损坏问题
- 正在VS调试器中监视映射条目
- 使用调试/崩溃报告将应用程序部署到客户端
- VC++本机单元测试,找不到调试符号
- 编译器如何在使用SFINAE的函数和标准函数之间确定两者是否可行
- 如何在C++生成器中禁用"使用调试.dcus"
- 提供与TMP和SFINAE的通用接口
- 使用vscode调试时,GDB意外退出
- 即使使用调试编译标志,表达式也是"optimized out"
- 调试 CUDA MMU 故障
- "Inverse SFINAE"避免模棱两可的过载
- 小字符串优化(调试与发布模式)
- 在gcc或clang中调试SFINAE