[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to use -dbg packages?



On Thursday 24 August 2006 1:32 pm, Bernd Schubert wrote:

> I need to debug kxkb and its library calls. I just tried to install
> kdebase-dbg and kdelibs-dbg, but there are no usage instructions
> in /usr/share/doc.

I assume these packages provide the missing symbols that are normally stripped 
out of distro packages.  I don't quite know for sure, because I've never 
installed one, but I can intuit what they're for.  Namely, to provide 
ordinary users the means to avoid submitting useless bug reports full of "(no 
debugging symbols found)" messages, without having to go do a full debug 
build of the whole affected bit of code.  This sounds like an excellent idea 
to me!

> There's /usr/lib/debug/usr/bin/kxkb, but doesn't have by default any
> execution bit. Adding, it still fails to run.

You don't run the debugging symbols.

What this is all about is putting a name with a number.  The programmer makes 
a function called doFoo(), and the compiler translates that into a number 
somehow.  (I'm not exactly sure how it works.)  Say "doFoo()" 
becomes "0xb6a897c7"

The numbers are useless to developers, because they have no idea what 
function, variable, etc. that number represents.  That's what debugging 
symbols are for.  It's a table to say what name went with what number.  These 
make executables HUGE, which is why they're stripped out by default.  (The 
binary for Rosegarden with debugging symbols compiled in is 78 MB!)

So when something crashes, we can figure out that it crashed in doFoo() right 
after doFoo() was called by doBar().

> Are those kde -dbg packages only for those kde call traces when an
> application crashes?

Bingo!  They're so the result of the little crash dialog will provide 
developers with information that they can actually use to gain some real 
insight into what caused the crash.

I will remember about the -dbg packages.  I have use for those myself, because 
Rosegarden sometimes crashes in a KDE or QT call that's a black box to me 
because of the problem I'm describing.  I have symbols for Rosegarden, but 
not KDE.

-- 
D. Michael 'Silvan' McIntyre  ----   Silvan <dmmcintyr@users.sourceforge.net>
Linux fanatic, and certified Geek;  registered Linux user #243621

Author of Rosegarden Companion http://rosegarden.sourceforge.net/tutorial/



Reply to: