Do you want to collect all stack traces during its run or you have a few
points you are interested in where you want to collect stack traces (such
as function entries, basic block entries)?

On Mon, Apr 23, 2018 at 4:20 PM, budchan chao <[email protected]> wrote:

> Right, I want to just collect all the return addresses and get all the
> stack traces a program makes during its run. So would work if I add this
> stack walking code as part of return instrumentation?
>
> On Monday, 23 April, 2018, 4:50:44 PM GMT-4, Xiaozhu Meng <
> [email protected]> wrote:
>
>
> Hi,
>
> Passing (rsp) to your instrumentation function is not going to do what you
> plan to do because Dyninst's internal instrumentation code will have
> changed the value of rsp.
>
> For us to better help you, can you describe what exactly you would like to
> do? It seems to me that you are trying to collecting return addresses and
> manually reconstruct call stacks. If it is the case, the stackwalkAPI is
> better suited for this purpose. You can refer the documentation for better
> idea of what stackwalkAPI can do (https://github.com/mxz297/
> dyninst/blob/master/stackwalk/doc/stackwalk.pdf).
>
> Thanks,
>
> --Xiaozhu
>
> On Sun, Apr 22, 2018 at 2:49 PM, budchan chao <[email protected]> wrote:
>
> I want to use Dyninst to trace the runtime stack. I was thinking doing a
> call out to an instrumentation function at each function entry which would
> accept the dereferenced rsp value (which will be the return address at the
> function entry) as an argument and log it within this instrumentation
> function which I load from a shared library. I am not quite sure how to get
> the dereferenced register value and do the function call using it as an
> argument. I see Bpatch_registerExpr but I am not sure how to initialize
> with the dereferenced rsp register value. Can somebody give me a pointer on
> how to do this? Or is there a better of doing it?
>
> Thanks
>
>
> ______________________________ _________________
> Dyninst-api mailing list
> [email protected]
> https://lists.cs.wisc.edu/ mailman/listinfo/dyninst-api
> <https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api>
>
>
>
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to