From: Ilie H. <lup...@gm...> - 2010-07-13 00:04:56
|
Hello. I'm currently trying to generate the stack trace for a thread in another process, which was compiled using MinGW. Everything goes well, here's part of the output: libkdecore.dll![unknown]() [O:/kde/svn/trunk/KDE/kdelibs/kdecore/kernel/kcmdlineargs.cpp @ 1531] crashtest.exe!do_crash()() [O:/kde/svn/trunk/KDE/kdebase/runtime/drkonqi/tests/crashtest/crashtest.cpp @ 43] crashtest.exe!level4(int)() [O:/kde/svn/trunk/KDE/kdebase/runtime/drkonqi/tests/crashtest/crashtest.cpp @ 97] What troubles me is that I can't get the function name inside the libkdecore.dll shared library. I use libbfd to get the function/file/line info, and it seems to work for 2 out of the 3. Then I said it's worth trying addr2line to see what it shows. Here's what I did: O:\kde\bin>addr2line -e libkdecore.dll -j .text -f 100000 ?? O:/kde/svn/trunk/KDE/kdelibs/kdecore/sycoca/ksycoca.cpp:431 Function name is wrong, and I don't understand why. It works ok, I think, because the file name and line is correct in my case, and I assume it's right for addr2line too. Changing the debug format (DWARF, stabs) didn't solve my problem. Sorry if this is the wrong place to ask, but do you know what I can do? I have binutils 2.20. Thank you, Ilie. |