On 10/8/22 18:17, Alberto Mardegan wrote:
Hi all!
On some occasions I've found myself in need of debugging the
executable under gdb, strace and valgrind. Running
gdb ./default/install-root/usr/local/bin/MyApp
has always worked well for me, but I wonder:
1) Would this break if the app depends on shared libraries existing in
the same project, unless the user explicitly sets LD_LIBRARY_PATH to
the proper locations?
Yes.
2) Can we make it even simpler?
I'm considering the idea of adding an option to run the target under a
wrapper, something like
qbs run --products MyApp --wrapper "valgrind --trace-children=yes"
Does anyone have plans to implement something similar? If not, and if
you think that the idea is sound, I might give it a go (hints welcome).
RunEnvironment::doRunTarget() has some hardcoded wrapper logic for
Android and iOS; you could try generalizing it.
Some Desktop/remote differentiation will likely be necessary, i.e. set
LD_LIBRARY_PATH & friends only for the former. (We could be more
ambitious and set things up on the remote side too, e.g. when the
wrapper is ssh. But that's probably out of scope for the first iteration).
Christian
_______________________________________________
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs