[haiku-development] Re: Jamming in debugging info?

  • From: "Ingo Weinhold" <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 14 Jul 2009 02:08:47 +0200

-------- Original-Nachricht --------
> Datum: Mon, 13 Jul 2009 16:06:52 -0700
> Von: pete.goodeve@xxxxxxxxxxxx

>    As a complete newbie to jam, I seem to be unable to achieve anything
> much except "jam -q".
> 
> I'm still looking at the usb_midi code, and one of the problems is
> a frequent -- but seemingly random -- KDL in the USB callback function.
> I'd like to be able to establish exactly which action in the code is
> causing it, and that would be easier if I could connect the hex offset
> to a line of code (with objdump probably).   However, the default
> compilation
> doesn't put any debugging data in the object, and I can't see how to get
> it in.
> 
> I tried "jam -q -s DEBUG=true" (not really expecting that to be
> appropriate)
> but that fails apparently because it "can't find kernel.so" -- after
> printing
> out reams of stuff I don't otherwise see.  Looks a bit as if it's trying
> to
> stuff debug info into everything...
> 
> Help, please.

Please have a look at build/jam/UserBuildConfig.ReadMe. Searching for DEBUG 
will turn up the info you're looking for.

Regarding displaying the line number information, readelf can help:

  readelf --debug-dump=decodedline <file>

Note that save for the kernel respectively a program shared objects are not 
loaded at the addresses recorded in the file, though. For kernel modules you 
can use the "image" command in KDL (without parameter to get a list, with ID as 
parameter to get details) or "listimage" in the command line to get the info 
for the address difference.

CU, Ingo

Other related posts: