gdb 经常用 ,但今天使用gdb 调试的时候, break 打断点, 结果也没有打出 哪一行的信息,就只是提示一个具体地址。
使用单步调试 结果爆出 stepping until exit from function dpdk_device_input, which has no line number information-----信息。
但是make的时候已经加入 -g O0 -ggdb了怎么还是出现这个问题呢? 想不通啊!!!
使用make VERBOSE=1 打印出详细的编译信息, 发现gcc 后面带了一些 参数 不是很熟悉, 难道是这些参数的原因导致的??
google 了一下 这些参数不会影响debug 信息。为了以防万一, 还是在gcc 参数中去掉仅保留 -fpic -g -O0 -ggdb
重新clean 然后编译。替换gdb 调试
结果:还是没有解决问题
那到底是什么原因呢 ???
查阅“Debugging with gdb The gnu Source-Level Debugger Ninth Edition, for gdb version 7.0.50.20100218-cvs” gnu make gcc 等书籍 貌似 gcc make gdb参数 是对的
陷入了 困惑 都是对的 那为什么就出问题了呢??
仔细想了一下: make gcc gdb 单独来看都是对的。而且 参数 也是出入正确。 ----
----也就是单独使用正确 但是联合起来 结果不正确-----这种现象是不是很常见---团队合作联调的时候,大家都说自己是正确的,最后发现有个东西没有衔接好
所以 是不是由于make gcc gdb 不兼容导致的??
为了验证问题, 赶紧在编译环境下 编译一个helloWord程序, 然后在编译环境下 使用gdb 调试 打断点测试
果然出现了!! 有debug 信息。说明就是gdb gcc 版本问题导致。
所以后面重新 编译gdb 咯!!