On 2/26/2023 4:29 AM, Philippe Waroquiers wrote:
On Fri, 2023-02-24 at 10:42 -0700, User 10482 wrote:
Dear All,

I am looking to fix dangling pointer issue and was pleasantly surprised to find 
the
`who-points-at` functionality in valgrind which tells the stack variable names 
(assuming
--read-var-info=yes) and any addresses on heap with holding the searched 
address.
[link](https://valgrind.org/docs/manual/mc-manual.html#mc-manual.monitor-commands)

The tool is just splendid but I wish there was some way to do it recursively on 
the heap
addresses (i.e who-points-at on the output of previous who-points-at) until we 
get the
stack variable names holding the dangling pointers; something like how 
core-analyzer's
`ref` command does. [link](
https://core-analyzer.sourceforge.net/index_files/Page600.html).

Yes, a recursive who-points-at would be a nice thing to have.
I have added this on my list of things to do (one day, whenever I have time :().



On a side note, is there a way to know which variable/type a heap address 
points to?
That will be helpful too.
The only information valgrind has about a (live) heap block is the stack trace 
that
allocated it.
Valgrind does not know the type of the object for which this memory was 
allocated.
Unclear to me how that can be implemented (at least without support of the 
compiler).

I wonder if gdb (or whatever debugger) info about the types of the pointers
would allow providing useful information?  Presumably that could be had if the
executable had the information kept with it and not stripped.

Best - Eliot Moss


_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to