【发布时间】:2015-10-01 00:05:34
【问题描述】:
我为 PostgreSQL 写了一个 C 语言函数。它将 OpenStreetMap 中的数据导入到我自己的数据库中,但似乎我在某处发生了内存泄漏。我试图用 valgrind 检查它:
LD_PRELOAD='/some/path/libohdm-import.so' valgrind --leak-check=full psql ohdm-dev -c "select ohdmImport('somefile.osm');"
但每次我收到以下错误:
valgrind: symbol lookup error: /some/path/libohdm-import.so: undefined symbol: SPI_processed
我从 postgres 正确导入了头文件。该函数成功完成了斐济群岛等较小的地图数据,但较大的地图数据出现内存不足。
我的问题是:如何让 valgrind 运行?
【问题讨论】:
-
你在使用 palloc() (in line#42) 吗?
标签: c postgresql shared-libraries valgrind