0

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

s->method->ssl_read(s,buf,num)

由动态函数指针设置。当它指向时我想进入它

ssl23_read

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

顺便说一句,只是交换调用不起作用,或者至少不容易 - OpenSSL 库进行了一些检查,以确保您不直接调用该函数。

4

1 回答 1

0

在 ssl23_read 中设置断点不起作用

以什么方式不起作用?

如果 GDB 设置了断点,但断点从不触发,那么要么

  1. 该函数实际上没有被调用,或者
  2. GDB 中有一个错误,它错误地设置了断点。

如果是 2,请检查最近的 GDB 中是否仍然存在该错误,并为其提交错误报告。作为一种解决方法,可能break * &ssl23_read设置断点以使其触发。

于 2012-06-21T21:41:41.020 回答