【发布时间】:2015-11-26 17:09:06
【问题描述】:
我用的是igraph的C接口,有时候调试的时候想看看igraph_vector_t的一些变量的内容,还有igraph_matrix_t的内容。
是否有一些 GDB 漂亮的打印机可用,比如那些可用于 STL 容器的打印机(通常是 std::vector<T>?)
【问题讨论】:
标签: c++ c debugging igraph pretty-print
我用的是igraph的C接口,有时候调试的时候想看看igraph_vector_t的一些变量的内容,还有igraph_matrix_t的内容。
是否有一些 GDB 漂亮的打印机可用,比如那些可用于 STL 容器的打印机(通常是 std::vector<T>?)
【问题讨论】:
标签: c++ c debugging igraph pretty-print
不,没有,但如果可能的话,您可以尝试从gdb 中调用igraph_vector_print()。或者,您可以访问igraph_vector_t 的stor_begin 成员——这是一个指向承载向量内容的内存区域的指针。 stor_end 指向该区域的末尾,end 指向向量的最后一个元素之后 - 因此,向量的“有用”部分介于 stor_begin 和 end 之间。
【讨论】:
igraph_vector_t x //some vectorstd::vector<igraph_real_t> xview(x.stor_begin, x.stor_end) 的 stl 向量然后使用 STL 漂亮的打印机来解决。这样就可以在 gdb 中使用xview 访问x 的内容。