gdb步入动态功能

时间:2012-06-21 18:21:01

标签: c debugging gdb openssl function-pointers

我正在调试OpenSSL库中的函数调用

的段错误
s->method->ssl_read(s,buf,num)

由动态函数指针设置。我想在指向

时介入它
ssl23_read

但是在ssl23_read中设置断点不起作用。我不确定调试如何与动态函数指针一起工作,对我来说直观的答案可能是“不同”或“不是”。在这种情况下,您将使用哪些调试策略?

顺便说一下,只是交换掉呼叫不起作用,或者至少不容易 - OpenSSL库有一些检查,以确保你不直接调用该函数。

1 个答案:

答案 0 :(得分:0)

  

在ssl23_read中设置断点不起作用

以什么方式不起作用?

如果GDB设置断点,但断点永远不会触发,那么

  1. 实际上没有调用该函数,或
  2. GDB中存在一个错误,它会错误地设置断点。
  3. 如果是2,请检查最新GDB中是否仍存在该错误,并为其提交错误报告。作为一种解决方法,break * &ssl23_read可能会设置断点,使