static vs. shared linking
Corinna Vinschen
corinna-cygwin@cygwin.com
Mon Mar 30 11:04:00 GMT 2015
On Mar 25 22:42, David Stacey wrote:
> On 25/03/2015 09:04, Corinna Vinschen wrote:
> > If you
> >install the cygwin-debuginfo package, addr2line returns something like this
> >as the call stack (non-required path components removed):
> >
> >[...]/cygwin/exceptions.cc:1247
> >[...]/cygwin/exceptions.cc:1501
> >[...]/cygwin/sigproc.cc:717
> >[...]/cygwin/signal.cc:252
> >[...]/cygwin/signal.cc:303
> >[...]/cygwin/signal.cc:313
> >[...]/cygwin/signal.cc:289
> >[...]/cygwin/signal.cc:375
>
> Thank you for your comments - they were really helpful. Yes, I should have
> specified '-g' on the command line - that was an omission on my part -
> sorry.
>
> I've never had much joy out of addr2line before, and I'm struggling to
> recreate what you've done. I've added '-g' to the command line, run 'go.sh'
> again. This generates a fresh stackdump file, and then I do:
>
> awk '/^[0-9]/{print $2}' shared_test.exe.stackdump | addr2line -f -e
> shared_test.exe
>
> but I just see question marks. Please could you show the exact lines you're
> using.
addr2line is a bit dumb and needs help. What I do is to cat the
stackdump file and look at the addresses. They usually show where
the stuff comes from:
$ gawk '/^0/{print $2}' mkgroup.exe.stackdump
7FFBDC82DDB6
001800FEC36
001800FE188
001800CF471
001800CF53D
0018007EAC1
00100402DE6
00180049411
00180046369
00180046180
00180049488
00100401351
00100401010
7FFBD9FE13D2
7FFBDC85EB64
The 7f addresses are from OS DLLs you can't read with addr2line.
0018xxx is the Cygwin DLL, 0010xxx is the application itself. Other
addresses are other DLLs. Just check the addresses against
/etc/rebase.db.x86_64.
Then call addr2line for each object file, e.g.:
$ addr2line -e /usr/bin/cygwin1.dll 001800FEC36 001800FE188 001800CF471
[...]/cygwin/passwd.cc:576
[...]/cygwin/passwd.cc:353
[...]/cygwin/grp.cc:413
$ addr2line -e /usr/bin/mkgroup.exe 00100401351 00100401010
/usr/src/debug/cygwin-1.7.35-1/winsup/cygwin/lib/cygwin_crt0.c:22
/usr/src/debug/cygwin-1.7.35-1/winsup/cygwin/crt0.c:34
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20150330/c9a38240/attachment.sig>
More information about the Cygwin
mailing list