This is the mail archive of the
mailing list for the GDB project.
Intrusive GDB Symbol Lookup when debugging remotely
I'm trying to determine if there exists an alternative solution, or a
patch for the following problem, or if someone familiar with the GDB
source can estimate how much work it would be to implement a patch. Any
advice would be welcome and appreciated.
GDB running on a Sun Solaris machine.
GDBServer running on a PowerPC Linux machine
The application is running on the target in GDBServer and GDB is
connected to the target using "target remote x.x.x.x:y"
While the target is running, I don't think it is possible to examine the
symbol table from within gdb without sending an interrupt signal to GDB.
This is a problem because users (and frontends) don't seem to be able to
look up symbols in the symbol table in GDB without interrupting the target.
In theory, it would be possible to stop the interrupt being propogated
to the server and hence the target could remain running without
interruption. One possible way of solving this would be to use a
different signal as a "Non-intrusive interrupt" or "Local Interrupt".
The symbol lookup can occur, and then gdb resumes. This would imply gdb
would need to know if its running in "Local" or "Remote" mode to prevent
operations trying to access the target.
An alternative mechanism could be to have a separate thread that runs
and is signalled for non-intrusive operations.
You might ask why not just run a separate gdb instance to do this kind
of look up? However, I am dealing with large executables where loading
separate instances for the sake of a symbol lookup is neither efficient,
timely or practical.
I would very much appreciate discussion on this topic with regard to
feasibility, if its been done already or how much effort it would be to
implement this type of functionality.
Tel/Fax: +1 630 713 9110