不加载VDSO.so是使用gdb和glibc> 2.2时遇到的着名错误之一。 我发现计划在gdb 7.5.1中修复,但事实并非如此。 好的,我在这里find了一个解决方法,但我不明白如何应用它。
操作系统:Arch Linux
IDE:QT创作者3.0.82
编译器:GCC 4.8.2
注:我不确定是否违反上述规定
不加载VDSO.so是使用gdb和glibc> 2.2时遇到的着名错误之一。
不, 不是的 。 这里的问题只是一个无用的警告,你可以放心地忽略。
我在这里找到了一个解决方法,但是我不明白如何应用它。
您没有找到“解决方法”。 你找到了GDB的一个补丁,它禁用了警告。
要应用它,请使用patch
命令,然后构建您自己的GDB。 但是,首先忽略警告就简单多了。
对于像我这样的人只是希望gdb关闭丢失的符号的人,可以尝试把它加入到~/.gdbinit
(但是请看下面的注意事项):
set logging redirect on set logging file /dev/null python def on_new_objfile(e): gdb.execute("set logging off") #print "new objfile:",e.new_objfile.filename if e.new_objfile.filename[:19] == "system-supplied DSO": gdb.execute("set logging on") # hide inevitable error message gdb.events.new_objfile.connect(on_new_objfile) end
注意事项:
set logging
界面; 如果你想使用日志记录,你需要改变它来保存以前的日志记录设置。 "system-supplied DSO"
; 新的内核或gdb版本可能会变得脆弱。