开发者

Debugging PostgreSQL User Defined Functions

开发者 https://www.devze.com 2023-01-05 13:00 出处:网络
I\'m taking over development of a set of User Defined Functions and User Defined Aggregates written for PostgreSQL, and I\'m having difficulty diagnosing what\'s causing the code to constantly seg fau

I'm taking over development of a set of User Defined Functions and User Defined Aggregates written for PostgreSQL, and I'm having difficulty diagnosing what's causing the code to constantly seg fault. Does any one know if/how it's possible to use GDB with a UDF written in C++? A couple of google searches did开发者_Python百科n't turn up anything. I've used ELOG before to debug UDFs, but this project is complex enough that I need something a little more powerful.

Thanks, Kevin


You should be able to attach gdb to a running postgresql backend- although you'll probably want to ensure your postgresql build has debugging symbols left in it to make that comprehensible. If you do select pg_backend_pid() you'll get the backend's process ID that you're dealing with, and can then attach gdb to it (using the --pid switch or attach command). This approach is only useful if you can reproduce the problem using psql, for example, though: having new backend processes automatically attached to be a gdb is... harder. For example, you can set options such as post_auth_delay to make postgresql wait after authentication has finished, giving you a chance to attach the debugger before it continues processing.

0

精彩评论

暂无评论...
验证码 换一张
取 消