Read/Write operations in Tracepoint
Is there a way to access when variables are read/assigned in Tracepoint? Specifically, I'm interested in creating a tool which does dynamic, threading analysis of Ruby code to find atomicity violations, dead-locks and race conditions. However, to do so would require the ability to know when a variable is written to, or read from, and the thread in which the operation happened.
I looked in vm_trace.c and did not find the events that would be needed to do this type of analysis.
Can I use Tracepoint to get this information? Or should I use some other approach?
Updated by ko1 (Koichi Sasada) almost 7 years ago
- Status changed from Assigned to Rejected
Is there a way to access when variables are read/assigned in Tracepoint?
No. I reject this approach because of performance (without enabling these trace).
But there is no proof of my assumption. Please try and measure.
Or should I use some other approach?
I planned dynamic instrumentation.
But there is still C-extension problem.