+ -
当前位置:首页 → 问答吧 → 关于make后用gdb调试的问题

关于make后用gdb调试的问题

时间:2010-09-19

来源:互联网

我想用gdb来调试wireshark

首先下载到wireshark的源代码进行安装
./configure
make
sudo make install

我的源代码目录在~/下载/wireshark/
而我想调试的函数位于~/下载/wireshark/epan/dissectors/packet-http.c里面的dissect_packet

而我在终端中进行调试是这样操作的 首先在~/下   执行 sudo gdb wireshark
启动了 gdb进行调试 ,我list了一下,发现能够看到代码,所以我想这个应该是带调试信息的,可以直接调试。然后我就想在dissect_packet那里设置断点,我也不知道需不需要设置路径什么的,于是我就break packet-http.c dissect_packet。然后弹出些话不知道什么意思,应该是说现在没有找到,在将来遇到了再载入什么的,我选了y,然后Info break一下,发现状态是pending.
然后我就run了,可是并没有在我预期的断点的地方停下来,应该是断点没设置对,但我也不知道这种断点该怎么设置,请高手指导。

作者: liukunmeister   发布时间: 2010-09-19

make CFLAGS="-g -O0"

作者: EricFisher   发布时间: 2010-09-19



QUOTE:
make CFLAGS="-g -O0"
EricFisher 发表于 2010-09-19 22:18



这样做了以后还是没有任何差别啊,我设置断点的break packet-http.c dissect_http 这样用对不对啊,会不会还要设置一下路径什么的?

作者: liukunmeister   发布时间: 2010-09-19