Debugging and pointers

Hi, is there a way to make the Debugger format the contents of memory referenced by a pointer? What I mean is, if I have a BBitmap* for example, in the Variables window it just shows the address. I’d love it if there is a way to show the members of the BBitmap it points to. Is that possible? Or is this a feature the Debugger doesn’t have yet?

Thanks!

Hmm, I have no idea what’s wrong that Debugger doesn’t show the members of a pointer. Here’s a screenshot of how Debugger is supposed to look like with pointers:

Debugger listing variables and their contents

It works only if the library or executable providing the object is built with debug information.

This is not the case for libbe and there is no “debuginfo” package provided by Haiku at the moment. So you will have to build a debug version of libbe.so and make sure your application loads it.

To create a debug version of libbe, you have to edit build/jam/UserBuildConfig and add the line (all whitespace is important, including before the last ;):

SetConfigVar DEBUG : HAIKU_TOP src kits : 1 : global ;

And then build libbe:

jam -q libbe.so

(this assumes you have already set up a way to compile Haiku).

Once the lib is built, you can put it in a “lib/” folder next to your app executable, so your app will load it, and the debuginfo will be available.

Ideally, someone would provide a patch to Haiku to build a haiku debuginfo package, and then you’d just need to install that.

3 Likes

Ah, you need a debug version of libbe… that makes total sense.

Thank you!

Works perfectly - thanks again! I probably should’ve asked this question ages ago…would’ve made life a lot easier!

before, sadness:
debug-no

after, rejoicing:
debug-yes

6 Likes