Re: How to include the Valgrind stack traces in a stand-alone debug version?

Philippe Waroquiers <[email protected]>
Newsgroups gmane.comp.debugging.valgrind
Message-ID <[email protected]>
On Mon, 2021-05-24 at 10:31 -0700, Martin Licht via Valgrind-users wrote:
> Hello,
> 
> I think the Valgrind stack tracer is pretty great and I would like to use it as a substitute for `backtrace` in my C++ debug builds.
> 
> A blog post by Nicholas Nethercote (Using Valgrind to get stack traces) describes a similar idea:
> https://blog.mozilla.org/nnethercote/2011/01/11/using-valgrind-to-get-stack-traces/
> 
> However, while this is already fairly elegant, I am wondering whether this can be done without invoking the program under valgrind.
> 
> If the Valgrind stack tracer were a simple #include that would be best. 
> Alternatively, a means of including any necessary valgrind framework into the debug build would be helpful. I appreciate your feedback.
The valgrind unwinder is very fast, so having it as a "standalone" library that can be
linked to a normal executable and used outside of the valgrind JIT framework would
be really nice. 

However, I think this unwind logic/code has a lot of dependencies
to other parts of valgrind (debug info reader, address space manager, valgrind own malloc
library, valgrind log and debug framework, ...).

So, clearly not a small task to 'cleanly' lib-ify the valgrind unwinder,
in particular if this library must then be usable both in a valgrind context and in a
'native' context.

Philippe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.