有人说看STL没用,真的没用吗,到真正实践的时候,书到用时方恨少。
下面来聊聊Vector源码在实践场景中的用处吧。
使用arrow project节点时,project阶段的schema里面的fields发生了变化,fields是一个vector节点,每个成员是std::shared_ptr,对比前后的vector指针发现_M_impl的_M_start位置发生了变化,因此需要gdb watch其变化,查看何处改了它。
std::shared_ptr
_M_impl
_M_start
问题抽象为:
当vector的底层指针发生变化时,如何调试?
当vector的底层指针指向的值发生变化时,如何调试?
京公网安备 11010502049817号