我有几个问题:
- int backtrace(void **buffer, int size); 这里的缓冲区是指针数组。return 上的数组元素作为 return 指向栈的每一帧。那么,backtrace() 内部调用 malloc() 的次数是帧数吗?为什么这是为了?
- 上面分配的内存不是从 backtrace() 中 freed() 的,那么,谁来释放这块内存呢?
- 有什么办法可以避免来自 backtrace() 内部的 malloc()?
- 我在哪里可以找到 backtrace() 源代码?
- 我如何编写代码以在程序集中进行回溯?