我想调试一个用户定义的函数(称为C/C++实现的prepareTheOutputRecord ),它是postgres中用户定义函数的一部分。下面是我如何在gdb中实现这一目标:
prepareTheOutputRecord驻留在postgresql server库目录中的libMyExtenstion.so文件中。我想在kdbg中做同样的事情。为此,我加载了postgres可执行文件,附加到进程,加载了cpp文件,在函数中用鼠标设置了断点,继续执行postgres进程,但是断点从未被击中:(我重复了相同的.so文件(而不是postgres可执行文件),但没有成功。我甚至尝试将断点设置为_ZN6libafd6LIBAFD22prepareTheOutputRecordEP20FunctionCallInfoData (没有鼠标单击),但是程序并没有停止在kdbg :(
发布于 2013-12-03 18:13:20
我认为问题在于kdb没有作为根(或postgres)运行。由于权限错误,符号没有加载,因此没有显示断点(也不允许放置在函数上)。
https://stackoverflow.com/questions/17832392
复制相似问题