Summary: | gdb does not display source-level debugging for member function of a templated iterator. | ||
---|---|---|---|
Product: | gdb | Reporter: | tom fogal <tfogal> |
Component: | c++ | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | NEW --- | ||
Severity: | normal | CC: | aegges |
Priority: | P2 | ||
Version: | archer | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: | ||
Attachments: | header file where the given template appears. |
Description
tom fogal
2010-10-15 21:07:25 UTC
Created attachment 5063 [details]
header file where the given template appears.
This is where the LODBrickIterator template lives.
Attaching the core failed; presumably it's too large. The core and binary are available on the web: http://www.sci.utah.edu/~tfogal/tmp/uvfconvert-src-bug/ I have a similar problem with inlined methods. gdb and addr2line are not able to resolve the source file and line of the corresponding address. I am using gdb 7.2 but gdb 7.3 fails, too. Interestingly, Valgrind can resolve it and nm shows clearly that the debug info is actually in the executable. Unfortunately, I was not able to construct a simple testcase to show the problem here. After some changes on a different source file and recompilation the problem went away. The only difference I saw in the disassembler code was that the following line was added in the case where gdb has a problem: call <i686.get_pc_thunk.bx> Usually, this call is inserted in case of position independent code (option -fPIC for gcc). I don't know why it was inserted in my executable as I don't use this option. Perhaps this information can help to identify the cause of this bug and solve it. |