Slackware 14.1 x64 -- Issues with GDB 7.x
When launching gdb on an application I am greeted with the following error:
&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"
Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Some googling of this provided a whole myriad of garbage, from patches to finger pointing, and other sorts of hand waiving.
Frequently people say that this is a harmless warning and can be ignored. I am thinking that is not the case.
I am debugging a 32bit application. SlackVer is x64.
GDB gets the shared kernel object : linux-vdso.so.1 which resides at 0x00007fffc7dde000
my application gets: linux-gate.so.1 which resides at 0xffffe000
At any rate, gdb is not working right at all. I can set break points, step through, step over etc. That's all fine an dandy, however it fails to give me values if I add an expression evaluation. I can set a break point before a variable is set, at it, then immediately after. GDB stops at all the points but does not have a value for me.
This makes debugging next to impossible with gdb.
If anyone had this issue and has since resolved it your input would be greatly appreciated.
[Edit]: For what its worth I am debugging a multi thread program which is interfacing with other applications.
I'm no expert on this as I have only been running Slackware for 2 weeks but it sounds like GDB is not being invoked correctly or like you said it's not working at all.
In this link it's a bug. Sorry I don't know more.
Maybe a more experienced Slackware Member will know & chime in.
The default value for the set sysroot variable depends on your toolchain. If your GDB binary was compiled with the --sysroot argument, you won't need to run the set sysroot command - the sysroot will be automatically set to the location specified during compilation. Otherwise the default value will be "" and you might need to set it manually if you are debugging remote processes.
This is the only thread of many that I found online that makes an sense.
|All times are GMT -5. The time now is 03:36 AM.|